Mutations: OnChangeResponse
- QueryName there is top level properties on your type.- You should list all top level QueryNames that may be affected (data could be changed) after applying mutation |
Entity / ID's
- - is modifier/action- - is Foreign Type/Entity name- / - is Foreign Entity fieldFilters: Date / Time
Know how to deprecate
For example in the Type could be deprecated, because there is have been addedhttps://spec.graphql.org/June2018/#sec--deprecated Non Nullable
For example Nullable Boolean have a three state which makes a confusion. Only really optional fields, may be Nullable Group Fields
Do not shy to group related fields. That simplify reading/understanding of API, reusing the same Fragments, and write common utilities to work with that |
Filters: Nullability
- Fields is Nullable, because means that we opt-out filter- Empty array is also means that we opt-out filter Pagination
Translations
Boolean Fields
- Always start boolean fields with / prefix. (That's just a good practice)- Do not forget that Nullable Boolean have a three state: , and , don't do that!Use specific Scalar types
- That allow you to implement validation for corresponding type once, and reuse it everywhere. - For FE that also allows to validate the types, and improving readability and understanding of API |