как создавать фрагменты с помощью аннотаций spring-spqr graphql-spqr-spring-boot-starter graphQL
Используя graphql-spqr-spring-boot-starter и graphql-spqr, но не можете создать фрагмент с помощью @GraphQLDirective, не уверен, есть ли способ сделать это.
Моя цель - создать фрагмент через код вроде
@Data
@GraphQLFragment
public class ProfileFields{
private String name;
private String emailId;
private String phoneNo;
}
и используйте этот фрагмент в запросе ниже, может ли кто-нибудь подсказать мне, какие аннотации используются для этого
{
profile(id: "101"){
...ProfileFields
}
}
1 ответ
GraphQL работает не так. Фрагменты определяются клиентом ad-hoc. Вы не можете определить их заранее на сервере. Определение фрагмента является частью запроса. Вам ничего не нужно (или что вы можете) делать на сервере, чтобы фрагменты работали.
Клиент может отправить такой запрос:
{
profile(id: "101") {
... ProfileFields
}
}
fragment ProfileFields on Profile {
name
registrationDate
}
Что касается @GraphQLDirective
, он используется для определения директив схемы (на стороне сервера). Директивы не относятся к фрагментам.