1

我正在使用 Grails 1.3.7 并具有以下 DTO

class Result {
   String key
   List errors
}

现在将出现密钥或错误,但不会同时出现。如果 Result 有一个键,我不希望编组的 JSON 的错误字段为空值,如下所示

{"errors":null,"key":"abcde"}

我查看了转换器的配置选项,它没有抑制空值的选项。我还查看了该页面上标题为“自定义转换器结果”的最后一部分,并注册了一个对象编组器,如下所示

class Result {

   static {
      grails.converters.JSON.registerObjectMarshaller(Result) {
     return it.properties.findAll {k,v -> v != null}
     }
   }

}

但结果仍然包含空值错误。我正在为 XML 和 JSON 寻找最简洁的方法来实现这一点。

4

1 回答 1

1

尝试这个 Grails 2.0.3 会导致一个错误,表明该errors字段与 GORM 的自动添加的grails.validation.ValidationErrors字段(也称为errors)之间存在冲突。您的 marshaller 看起来不错,所以您可能只需要将您的字段名称更改为其他名称errors

于 2012-10-15T20:29:59.170 回答