我正在研究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)可以让您自定义属性名称。
答案 0 :(得分:0)
Wildfly使用基于Jackson的RESTEasy JAX-RS实现。如果目标支持的应用程序服务器是Wildfly,则可以在项目中使用Jackson特定的注释。如果您使用Maven构建部署,则可以将Jackson添加为提供的依赖项(就像jee api jars一样)
您可以改用JAXB批注,并配置RESTEasy使用的Jackson来使用它们,但这只能避免因为依赖编译时间而依赖Jackson,您的包仍将依赖Jackson。
或者,如果服务器可移植性对您很重要,您可以显式引入Jackson作为运行时依赖项,并编写消息正文读取器和写入器