Как разбить мой файл .graphqls на несколько файлов? - PullRequest
0 голосов
/ 25 апреля 2020

Я много искал ответ на свой вопрос, но никто не ответил, что я действительно хочу. Я изучаю graphql, и я сделал небольшой проект с загрузкой Spring, используя эти зависимости

<dependency>
        <groupId>com.graphql-java</groupId>
        <artifactId>graphql-spring-boot-starter</artifactId>
        <version>5.0.2</version>
</dependency>
<dependency>
        <groupId>com.graphql-java</groupId>
        <artifactId>graphql-java-tools</artifactId>
        <version>5.2.4</version>
</dependency>

До сих пор все работало нормально, но мой файл .graphqls быстро растет, и я думаю, что он не будет читаем как мое приложение progress:

type User {
id: ID!,
firstName: String,
lastName: String,
email: String,
posts: [Post]
}

type Post {
id: ID!,
description: String,
user: User
}

type Query {
users:[User]
user(id: ID):User
posts:[Post]
}

type Mutation {
createUser(user: UserInput):User
}

input UserInput {
firstName: String!,
lastName: String!,
 email: String!
}

Мой вопрос: как я могу разбить этот файл на несколько файлов (пример: 1 файл для объявления типа пользователя, пользовательских запросов и мутаций и другой файл для объявления сообщений с запросом и мутацией). Я пытался разбить этот файл, но всегда работает только один тип, а другой выдает ошибку.

1 Ответ

1 голос
/ 25 апреля 2020

Вы можете иметь только один тип определенного имени для каждой схемы. Но при использовании SDL вы можете использовать расширение типа синтаксис для добавления к существующему типу:

type Query {
  users: [User!]!
  user(id: ID): User
}

extend type Query {
  posts: [Post!]!
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...