Почему '__typename' появляется в graphql-spqr-spring-boot-starter вместо поля pojo?

Может ли кто-нибудь помочь мне, почему мы получаем "__typename" для запроса, в котором мы действительно ожидаем имена полей модели. Может ли эта проблема быть вызвана указанным выше предупреждением?

У меня ниже 2 модели:

@Getter
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(NON_NULL)
public class CoResponse {

  @JsonProperty("tempId")
  private String tempId;

  @JsonProperty("cId")
  private String cEid;

  @JsonProperty("cType")
  private CoType type;

  @JsonProperty("status")
  private String statusCode;

  private String statusMessage;

  @JsonProperty("result")
  private CoResult resultMetadata;
}

а также

@Getter
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
@JsonDeserialize()
@JsonSerialize()
@Accessors(fluent = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class CoResult {

    @GraphQLQuery(name = "resourceId")
    @JsonProperty()
    private String resourceId;

    @GraphQLQuery(name = "resourceUrn")
    @JsonProperty()
    private String resourceUrn;

    @GraphQLQuery(name = "resourceIds")
    @JsonProperty()
    private String[] resourceIds;

    @GraphQLQuery(name = "resourceUrns")
    @JsonProperty()
    private String[] resourceUrns;

    @GraphQLQuery(name = "createdDate")
    @JsonProperty()
    private Instant createdDate;

    @GraphQLQuery(name = "revisionId")
    @JsonProperty()
    private String revisionId;

    @GraphQLQuery(name = "errorData")
    @JsonProperty("error")
    private ErrorData errorData;

    /**
     * Convert to json string.
     */
    public String toJson() {
        return JsonUtil.objectAsJsonString(this);
    }

    /**
     * Convert from json string.
     */
    public static CoResult fromJson(String json) {
        return JsonUtil.parseJsonAsObject(json, CoResult.class);
    }

}

Когда я пытаюсь получить поля CoResponse по полю resultMetadata, вместо получения имен полей (resourceId, resourceUrn, revisionId и т. Д.), Я мог видеть '__typename' что-то вроде следующего:

query{
  getCommandById(cId:"dfh79384hjdfhj"){
    body{
      resultMetadata{
        __typename        # expecting the sub-fields of resultMetadata here (resourceUrn, resources, etc.)
      }
    }
  }
}

Я использую библиотеку graphql-spqr-spring-boot-starter. Не могли бы вы подсказать, почему я не могу получить поля resultMetadata? Мы будем очень благодарны за любую помощь.

0 ответов

Другие вопросы по тегам