Jersey version : 2.13
I post a JSON data to the RESTful service, ant hope Jersey will auto deserialize this JSON data to a JAVA object.
Here is the client code:
$.ajax({
url:"webapi/editUser",
type:"POST",
dataType:"json",
dataObject:{
"id":"112",loginName":"admin"
},
success:function(result){
console.log(result);
}
});
here is pom.xml
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-moxy</artifactId>
</dependency>
here is web.xml:
<!-- Jersey Servlet config -->
<servlet>
<servlet-name>com.demo.rest.MyApplication</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>com.demo.rest.MyApplication</servlet-name>
<url-pattern>/webapi/*</url-pattern>
</servlet-mapping>
here is com.demo.rest.MyApplication.java:
@Path("webapi")
public class MyApplication extends ResourceConfig {
public MyApplication(){
register(MyResource.class);
}
}
here is MyResource.class:
@POST
@Path("/editUser")
@Consumes(MediaType.APPLICATION_JSON)
public String editUser(User user) {
logger.entry();
System.out.println("user.id:" + user.getId());
logger.exit();
return "OK"
}
here is User.java:
@XmlRootElement
public class User implements Serializable {
private Integer id;
private String loginName;
//setter;
//getter;
}
Howerver, when the client post the JSON data to service, the User object parameter in editUser() always is null....