【问题标题】:How to render different JSONs from the same model in Java Play Framework 2.5.x?如何在 Java Play Framework 2.5.x 中呈现来自同一模型的不同 JSON?
【发布时间】:2018-02-01 01:44:44
【问题描述】:

我有一个具有 4 个字段的模型(实体 bean)银行帐户:

  1. 帐号。
  2. 帐户持有人的姓名。
  3. 客户 ID
  4. 组ID

我有两个不同的控制器,它们在一个视图中呈现帐号和帐户持有人姓名,在另一个视图中呈现 CustomerID 和 GroupID。但是,在我的视图中使用Json.toJson(bankAccountObject) 时,它会返回所有四个字段,包括空值。我不能用@JsonIgnore 注释这些,因为如果我对一个视图的一组字段进行注释,那么对于另一个视图来说,相同的字段将变得不可见。在我的视图中选择性地呈现模型字段而不显示空值的最佳方法是什么?

【问题讨论】:

    标签: java model-view-controller playframework ebean


    【解决方案1】:

    使用 Jackson 的 JsonView 注释,如下所述:

    http://www.baeldung.com/jackson-json-view-annotation

    并忽略空值:

    http://www.baeldung.com/jackson-ignore-null-fields

    但是,请记住,如果您想大量自定义 Jackson 的 ObjectMapper 实例化(例如,执行类似 mapper.disable(MapperFeature.DEFAULT_VIEW_INCLUSION) 的操作),那么您需要禁用默认实例并创建自己的实例,如下所述:

    https://www.playframework.com/documentation/2.5.x/JavaJsonActions#Advanced-usage

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-05
      • 2016-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多