[英]Dropwizard/Jersey resource handler not correctly parsing json data
我正在开发 Dropwizard/Jersey 后端。 在一种特殊情况下,发送的数据未被解析为适当的 object。如果我将 @NotEmpty 添加到字符串字段,我将收到 422 错误。 这是 java 代码:
static final class UpdateGroupParams {
int itemgroupId;
String name;
String displayName;
int priority;
List<Integer> itemIds;
}
@PUT
@Path("{groupId: [0-9]+}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response saveGroup(@NotNull @PathParam("groupId") int groupId, UpdateGroupParams params) {
使用此请求:
curl -X PUT -H 'AlliedAuth: xxx' -H 'Content-Type: application/json' -d '{"itemgroupId":1017,"priority":2,"name":"easter","displayName":"Easter","itemIds":[1007,1004,1006,1002,1005]}' -v http://localhost:8080/v1/siteadmin/groups/1017
saveGroup() 内部的一个断点显示 params 的值都是 0 或 null。
我究竟做错了什么?
问题是 UpdateGroupParams 没有构造函数。 添加 lombok 注释 @AllArgsConstructor 解决了这个问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.