type Character {
name: String!
appearsIn: [Episode]!
}
Interfaces
interface Character {
id: ID!
name: String!
}
type Human implements Character {
id: ID!
name: String!
starships: [Starship]
totalCredits: Int
}
type Droid implements Character {
id: ID!
name: String!
primaryFunction: String
}
Union Types
union SearchResult = Human | Droid | Starship
{
search(text: "an") {
... on Human {
name
height
}
... on Droid {
name
primaryFunction
}
... on Starship {
name
length
}
}
}