【问题标题】:Jersey MOXy JSON Case-Insensitive UnmarshallingJersey MOXy JSON 不区分大小写的解组
【发布时间】:2017-03-10 04:13:23
【问题描述】:

我正在尝试使用 Jersey 2.x 设置 REST 服务,该服务使用 MOXy 通过 POST 消耗 JSON 响应。

只要所有 JSON 属性都像我的 POJO 中的属性一样完全命名,一切都会正常工作。有什么方法可以配置 MOXy 以便它允许不区分大小写的解组?例如:在我的 POJO 中将 JSON 属性“testid”与“TestID”匹配。

POJO-Field 是驼峰式的,但传入的 JSON-Attribute 可能是任何情况,我的服务应该能够处理它。

感谢您的帮助!

【问题讨论】:

  • 为什么你的pojo字段不是骆驼案?
  • POJO-Field 是驼峰式的,但传入的 JSON-Attribute 可能是任何情况,我的服务应该能够处理它。
  • 我从未使用过 Moxy,但我相当肯定它支持 JAXB 注释(即使是 JSON)。因此,您应该能够将 @XmlElement(name="testid") 添加到该字段的 getter 并让映射正常工作。

标签: java json jersey-2.0 moxy


【解决方案1】:

如果不定义自定义解组器(或直接从HttpServletRequest 解析),您只能使用JAXB 注释@XmlElement(name="testid") 定义预期的键名,如rmlan 的注释中所指出的。但是,这不会保护您的服务免受带有“TestID”或“TESTID”等键的 JSON 输入的影响。

【讨论】:

  • 感谢您的回答。我想我会切换到提供不区分大小写支持的 Jackson(请参阅 Link )——因为这些注释还不够。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-22
  • 2016-07-14
  • 2012-03-15
  • 1970-01-01
  • 2011-08-30
  • 1970-01-01
相关资源
最近更新 更多