[英]Bean input not being populated by jax-rs
我有以下jax-rs资源,
@Path("admin/user")
@Api(value = "Administration - User")
@Produces(MediaType.APPLICATION_JSON)
public class UserResource {
@POST
@Consumes(MediaType.APPLICATION_JSON)
public void createUser(@BeanParam User user) {
// ....
}
}
我的用户bean定义如下:
public class User {
@FormParam("firstName")
private String firstName;
@FormParam("lastName")
private String lastName;
}
当我发出REST请求以使用JSON作为请求主体创建User时,确实创建了User对象,但未填充字段。 我能够验证请求正文是否确实包含传递的json。
我正在使用Wildfly 8.2.0。
我的Maven依赖项包括
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>2.7.4</version>
</dependency>
和
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson2-provider</artifactId>
<version>3.0.10.Final</version>
<scope>provided</scope>
</dependency>
我想念什么?
编辑-1
当我从servlet请求中手动读取json主体并通过对象映射器运行它时,它似乎工作正常,
ObjectMapper objectMapper = new ObjectMapper();
final User user = objectMapper.readValue(json, User.class);
摆脱@BeanParam
和@FormParam
。 这些不用于JSON主体。 无需注释的参数足以使其正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.