我正在尝试通过以下方式使用 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
我的问题是,这会导致 Jersey 打印此消息的 415 响应:
未找到 Java 类 BeanParamModel、Java 类型类 BeanParamModel 和 MIME 媒体类型 application/octet-stream 的消息正文阅读器。与 MIME 媒体类型兼容的注册消息正文阅读器是:...
我正在尝试添加“application/x-www-form-urlencoded”标头,但该标头类型的消息也会重复。我还尝试使用 application/json 标头,这会导致由于输入结束而从 jackson 映射器中预期 EOF。
谁能告诉我我做错了什么?从@BeanParam 的球衣文档看来,这似乎很简单。