subgraphs:
connectors:
routing_url: none
schema:
sdl: |
extend schema
@link(url: "https://specs.apollo.dev/federation/v2.10", import: ["@key", "@interfaceObject"])
@link(url: "https://specs.apollo.dev/connect/v0.1", import: ["@connect", "@source"])
@source(name: "json", http: { baseURL: "http://localhost:4001" })
type Query {
itfs: [Itf]
@connect(
source: "json"
http: { GET: "/itfs" }
selection: "id c"
)
itf(id: ID!): Itf
@connect(
source: "json"
http: { GET: "/itfs/{$$args.id}" }
selection: "id c d"
entity: true
)
}
type Itf @key(fields: "id") @interfaceObject {
id: ID!
c: Int!
d: Int!
e: String
@connect(
source: "json"
http: { GET: "/itfs/{$$this.id}/e" }
selection: "$"
)
}
graphql:
routing_url: none
schema:
sdl: |
extend schema
@link(url: "https://specs.apollo.dev/federation/v2.10", import: ["@key"])
interface Itf @key(fields: "id") {
id: ID!
}
type T1 implements Itf @key(fields: "id") {
id: ID!
a: String
}
type T2 implements Itf @key(fields: "id") {
id: ID!
b: String
}