我试图通过以下方式使用Jersey的@BeanParam注释:
这是我的豆子:
public class BeanParamModel {
@QueryParam(value = "param1")
private String param1;
public BeanParamModel(@QueryParam("param1") String param1) {
this.param1 = param1;
}
public String getParam1() {
return param1;
}
public void setParam1(String param1) {
this.param1 = param1;
}}
这是需要使用它的资源方法:
@Consumes("*/*")
@Path("mypath")
@GET
public Response getUpgradeStatus(@QueryParam("param1") String param1, @BeanParam BeanParamModel user) {
return Response.ok().build();
}
现在我想使用单元测试对此进行测试,该单元测试使用以下url向测试服务器发送http请求:
获取http://path_to_resource?param1=1
我的问题是在泽西打印此消息后得到415响应:
未找到Java类BeanParamModel和Java类型类BeanParamModel的消息正文阅读器,以及MIME媒体类型application / octet-stream。 与MIME媒体类型兼容的已注册邮件正文阅读器为:...
我尝试添加" application / x-www-form-urlencoded"标题但该消息也重复该标题类型。我也尝试使用application / json标头,这导致由于输入结束而从jackson映射器中进行EOF预测。
有人能告诉我我做得不对吗?从@BeanParam的球衣文件看起来很简单。
答案 0 :(得分:0)
使用@GET你不应该拥有@Consumes。