我有一个带有POST方法处理程序的Jersey2服务
@Path("register")
public class RegisterResource {
@XmlRootElement
class PostUserParams {
String username;
String password;
public PostUserParams() {}
}
@POST
@Consumes(MediaType.APPLICATION_JSON)
public postData(PostUserParams user) {
...
}
}
但是我无法让POST请求工作 - 我已经获得了415 Unsupported Media Type。我很确定
是什么给出了?
答案 0 :(得分:3)
经过大量的挖掘和调试(Jersey调试让我头晕目眩!)我发现了一个异常,不幸的是这些异常被吞没了。
在这种情况下,bean类PostUserParams必须具有无参数构造函数。我有,但该类不是静态的,因此Java不会这样对待它。
解决方案:将PostUserParams设为静态。或者把它放在资源类之外。