![](/img/trans.png)
[英]Mapping multiple graphQL schema files to separate resolvers - Spring Boot
[英]How do I logically split up my GraphQL schema and Resolvers with Kickstart Spring Boot GraphQL
目前,我所有的查詢解析器都在一個 Query 類和一個 Query 模式/類型下,如下所示:
schema {
query: Query #I'd prefer UserQueries and OrganisationQueries
mutation: UserMutations
mutation: OrganisationMutations
}
type Query {
fetchUser(email: String): User
listOrganisations(max: Int): [GenericListing]
}
...
以及我在一節課中的所有查詢:
@Component
public class Query implements GraphQLQueryResolver {
public List<GenericListing> listOrganisations (Integer max) {
...
}
public User fetchUser (String email) {
...
}
}
我已經設法按用戶和組織拆分並在邏輯上分離我的突變!
@Component
public class UserMutations implements GraphQLMutationResolver {
public User createUser(String firstname, String lastname, String email, String msisdn, String password) {
...
}
}
我如何在邏輯上分離我的查詢 - 或者至少不在 Query 類中包含我的所有查詢。
如果要將用戶相關查詢與組織相關查詢完全分開,則:
用戶.graphqls :
schema {
query: Query
mutation: Mutation
}
type Query {
fetchUser(email: String): User
}
...
組織.graphqls :
schema {
query: Query
mutation: Mutation
}
type Query {
listOrganizations(max: Int): [GenericListing]
}
...
@Component
public class UserQuery implements GraphQLQueryResolver {
public User fetchUser(String email) {
...
}
}
@Component
public class OrganizationQuery implements GraphQLQueryResolver {
public List<GenericListing> listOrganisations(Integer max) {
...
}
}
此外,您可以使用 graphql-java-codegen 插件根據您的模式自動生成接口和數據類。 順便說一下,它支持多個架構文件:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.