product(id: 5) { title quantity tags } } type Query { viewer: User product(id: ID!): Product … } type Product { title: String quantity: Float! tags: [String] user: User … } Operation Type Fileds Selection Set Input type Output type Wrapper type Object type Scalar type
name } ... on Product { title } } } union UserOrProduct = User | Product type Query { info: UserOrProduct } type User { id: ID! name: String } type Product { id: ID! title: String }
5) { title quantity users { email name id } } } Фрагменты query { viewer { ...UserInfo } product(id: 5) { title quantity users { ...UserInfo } } } fragment UserInfo on User { email name id }
ужасно не гибко! GraphQL ломает кеширование. Какое именно? GraphQL запросы слишком большие! Ага. Но есть persisted queries GraphQL запросы тормозят БД! Иногда такое бывает. Это решаемо Apollo это плохо! Apollo != GraphQL :) Возможно это к лучшему :) ts тоже не гибко