【发布时间】:2016-08-29 14:44:19
【问题描述】:
我有一个接受以下格式的 JSON 的 REST 服务端点:
{
"name": "example",
"properties": {
"key1": "val1",
"key2": "val2"
}
}
那我有这门课
class Document {
private String name;
private Map<String, String> properties;
... setters/getters
}
还有我的 REST 服务方法
logger = Logger.getLogger("logger");
@POST
@Consumes(MediaType.APPLICATION_JSON)
Response addDocument(Document document) {
logger.info(document);
return Response.ok(200).build();
}
但每当我在上面发布 JSON 时,它并没有解组我的属性。它始终为空。 name 属性映射正确..
我很乐意接受任何帮助/线索。谢谢!
编辑:我没有提到我正在使用 glassfish 4.1 以及它附带的内容。我对 marshal/unmarshal 没有任何 lib 依赖项。
【问题讨论】:
-
您使用哪个库将 POJO 转换为 JSON,反之亦然
-
不使用任何特定的库。使用 glassfish 并使用 OOB 附带的任何内容。我已将我的应用程序限制为非常灵活且可部署在任何 EE 投诉容器中。目前通过 docker 使用 glassfish 4.1
-
你能发布你的 web.xml 吗?确保您已将 com.sun.jersey.api.json.POJOMappingFeature 添加为 true
-
我将使用 init-param 进行测试并让您知道。但事实证明我错过了那个。
-
我尝试了 init-param,没有任何改变.. 属性仍然为空