我正在尝试修改graphql错误响应。我想从响应中删除null属性。有可能吗?
我创建了像ExceptionWhileDataFetching这样的GraphQL异常以及我自己的过滤器客户端错误定义。效果很好,但是这里有丑陋的空属性,我想删除它们。
例如,由GraphQL docs属性扩展应该是可选的,在第二个示例屏幕上,扩展名仅是消息属性。这是我想要实现的目标,但是我找不到方法。
我发现GraphqlErrorHelper#toSpecification ..我认为足以覆盖它,并且GraphQL库无需其他操作即可处理错误属性,但是没有。
更新:
我开始考虑是否要尝试做合法的事情。.我发现我的ClientException
将正确地移至getJacksonMapper().writeValueAsString
中的GraphQLObjectMapper#serializeResultAsJson
,并且响应有所改变。这部分对我来说有点不可思议..:(
答案 0 :(得分:0)
好的,我终于找到解决方法了。
JacksonSerialer
使用注释来附加额外的数据。
因此,如果我在@JsonInclude(JsonInclude.Include.NON_NULL)
类中使用GraphQLError
,那么一切都会按我的意愿进行。.