Я использую graphql-spqr-0.10.0 и использую подход, основанный на коде, и вот пример типа, который клиенты могут запрашивать.
@GraphQLType(name = "Activity", description = "Some activity")
public class SomeActivity {
@GraphQLQuery(description = "Unique id")
private @NotNull Long id = null;
@GraphQLQuery(description = "Activity name")
private @NotNull String name = null;
@GraphQLScalar @GraphQLQuery(description = "Activity start date time")
private @NotNull ZonedDateTime startTime = null;
...
}
У меня есть graphql-java-extended-scalars (версия 1.0) в classpath, и я прочитал в одном из потоков, что я могу пометить поле ZonedDateTime @GraphQLScalar для его сериализации с graphql.scalars.datetime.DateTimeScalar и создания формата даты ISO_OFFSET_DATE_TIME.
Вотфактический формат ответа, который я не верю, находится в желаемом формате ISO "startTime": "2017-12-29T16: 59: 57-06: 00 [Америка / Чикаго]"
Это правильный способ использованиярасширенные скаляры?