Java EE JAXRS:使用API​​中的自定义属性名称来编排/解编JSON的可移植方式

时间:2018-09-05 14:40:14

标签: java-ee wildfly tomee

我正在研究Java EE 8项目。我将Eclipse Photon用作开发环境,将WildFly 13用作本地开发服务器。问题是,我们必须处理的输入/输出JSON在 PascalCase 中具有属性名称,而不是 camelCase 。例如:

{
    "name": "John Doe",
    "age": 24
}

当用作JAX-RS API的输入时,此格式工作得很好。但是,我们需要促进这一步:

{
    "Name": "John Doe",
    "Age": 24
}

此外,我们需要以以下格式生成输出:

{
    "Status": 1,
    "Msg": "success"
}

必须有一种方法(如@JsonProperty)可以让您自定义属性名称。

1 个答案:

答案 0 :(得分:0)

Wildfly使用基于Jackson的RESTEasy JAX-RS实现。如果目标支持的应用程序服务器是Wildfly,则可以在项目中使用Jackson特定的注释。如果您使用Maven构建部署,则可以将Jackson添加为提供的依赖项(就像jee api jars一样)

您可以改用JAXB批注,并配置RESTEasy使用的Jackson来使用它们,但这只能避免因为依赖编译时间而依赖Jackson,您的包仍将依赖Jackson。

或者,如果服务器可移植性对您很重要,您可以显式引入Jackson作为运行时依赖项,并编写消息正文读取器和写入器