Version 5
supported
Working with generic types
- Creating a generic type
- Creating a type that doesn't map to a DataObject
- The resolver discovery pattern
- How you can opt out of mapping fields to resolvers by adhering to naming conventions
- Adding arguments
- Add arguments to your fields, queries, and mutations
- Building a custom query
- Add a custom query for any type of data
- Adding pagination
- Add the pagination plugin to a generic query
- Enums, unions, and interfaces
- Add some non-object types to your schema
- Adding descriptions
- Add descriptions to just about anything in your schema to improve your developer experience
Creating a generic type
Let's create a simple type that will work with the inbuilt features of Silverstripe CMS.
We'll define some languages based on the i18n
API.
# app/_graphql/types.yml
Country:
fields:
code: String!
name: String!
We've defined a type called Country
that has two fields: code
and name
. An example record
could be something like:
[
'code' => 'bt',
'name' => 'Bhutan',
]
That's all we have to do for now! We'll need to tell GraphQL how to get this data, but first we need to building a custom query to see how we can use it.