【问题标题】:REST output hide fields in XML but not in JSONREST 输出在 XML 中隐藏字段,但在 JSON 中不隐藏
【发布时间】:2017-01-23 13:03:58
【问题描述】:

如果我的接受类型是.accept(MediaType.APPLICATION_XML),我不希望我的Java 类模型字段之一出现在输出中,但相同的字段应该出现在.accept(MediaType.APPLICATION_JSON) 中。

有没有办法做到这一点?

我尝试了@XmlAccessorType(XmlAccessType.NONE)@XmlTransient,但两者似乎都隐藏在 JSON 输出中。

【问题讨论】:

  • 您是否考虑过为每种媒体类型量身定制的 DTO?
  • 你在用 Jersey 吗?

标签: json xml jersey jax-rs


【解决方案1】:

一旦 @XmlTransient 等注释被 JSON 和 XML 提供程序识别,您最好为您支持的每种媒体类型使用 tailored DTOs

【讨论】:

  • 感谢您的回复。是的,我正在使用泽西岛。我不知道定制的 DTO。如果我有其他问题,我会查看并回复。
  • @BolimeraHannah 实现您想要的最简单的方法是为您支持的每种媒体类型创建一个 DTO。也就是说,一个 DTO 用于 JSON,一个 DTO 用于 XML。
  • 谢谢。能否请您指出一些有关如何创建 DTO 的示例?
  • @BolimeraHannah 看看这个Martin Fowler's article。要给您的 DTO 起一个更好的名称,请参阅 answer
猜你喜欢
  • 2015-05-14
  • 1970-01-01
  • 2022-07-21
  • 1970-01-01
  • 1970-01-01
  • 2011-03-27
  • 1970-01-01
  • 1970-01-01
  • 2018-05-26
相关资源
最近更新 更多