给定这个类用 Jackson 注释:
public class ResponseMsg implements Serializable{
public ResponseMsg(String ret, String msg){
this.returnCode = ret;
this.errorMsg = msg;
}
@JsonProperty("ret")
private int returnCode;
@JsonProperty("msg")
private String errorMessage;
// .... getters and setters
}
我让这个类在 Wildfly 26 中工作fine,它返回一个带有 ResponseMsg 注释属性的 JSON 响应:
@Path("/test")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response processMessage() {
@POST
@Path("/proc")
public Response process() {
ResponseMsg er = new ResponseMsg("abc","some message");
return Response.ok(er).build();
}
}
因为它用 JsonProperty 注释,所以我按预期进入浏览器:
{ "ret": "abc", "msg": "some message" }
现在,我正在使用 Jakarta EE 9.1 迁移到 Tomee,并且相同的代码返回 ResponseMsg 但 without 带注释的属性,JSON 如下所示:
{ "returnCode": "abc", "errorMessage": "some message" }
Tomee 的配置中缺少一些东西,那是什么?