【问题标题】:Exclude fields from JSON serialization in Play Framework从 Play 框架中的 JSON 序列化中排除字段
【发布时间】:2015-02-26 11:14:39
【问题描述】:

当我使用 Play Framework 2.3 开发的 API 发送模型时,我会像这样对其进行序列化:

public static JsonNode serialize(Object o) {
    return Json.toJson(o);
}

问题是我的模型的所有字段都是序列化的,这对于安全性和性能来说不是很方便。两个问题:

  1. 如何排除某些字段?
  2. 我的字段是私有的,我 使用Lombok 生成getter/setter。如何修改 JSON 序列化程序使用流利的 getter/setter 而不是 getMyField()/setMyField()?

谢谢。

【问题讨论】:

    标签: json serialization playframework-2.3


    【解决方案1】:

    @JsonIgnore 和/或@JsonProperty 注释是您所需要的。更多详情here.

    【讨论】:

    • 谢谢。问题是这些注释太静态了,因为我要处理的是像这样的请求GET /clients/007?fields=firstname,name
    【解决方案2】:

    您可以使用过滤器排除字段,

    请看链接:http://www.baeldung.com/jackson-ignore-properties-on-serialization

    【讨论】:

    • 有趣!因此,如果我理解,我可以在序列化之前在我的控制器中实例化我的过滤器并排除 API 调用者未请求的字段?
    猜你喜欢
    • 2016-11-16
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    • 2015-03-12
    • 2018-10-04
    相关资源
    最近更新 更多