GraphQL. Можно ли создать объект типа Query только с другим именем?
Наш стек:
Spring Boot
java
com.graphql-java-kickstart:graphql-spring-boot-starter
Вот так выглядит документация и схема сейчас:
Query
employeeSearch(searchRequest: SearchInput): EmployeeSearchResult
vehicleSearch(searchRequest: SearchInput): VehicleSearchResult
Хочется структурировать запросы в документации и избавиться от длинных имен запросов
на верхнем уровне документация
Vehicle
Employee
на уровне Vehicle
Vehicle
vehcile(id: ID!): Vehicle
search(searchRequest: SearchInput): VehicleSearchResult
create(input: CreateVehicleInput): Vehicle
на уровне Employee
Employee
employee(id: ID!): Employee
search(searchRequest: SearchInput): EmployeeSearchResult
create(input: CreateEmployeeInput): Employee
То есть идея создать тип который резолвился бы на верхнем уровне как мутации и запросы
type Vehicle {
employee(id: ID!): Employee
search(searchRequest: SearchInput): VehicleSearchResult
create(input: CreateVehicleInput): Vehicle
}
А просто создать поле на типе Query не получается? Типа GraphQLObjectType({ name: 'Query' fields: { employee: { type: EmployeeNamespace, resolve: () => ({}) // возвращаем не пустышку, чтоб графкуэль провалился в выполнение вложенных полей } } })
Обсуждают сегодня