在Jersey Rest中使用@Consume和GET请求

cdu*_*gan 4 jsonp jersey jackson

我正在尝试将GET请求中的值绑定到POJO.

这些值是HTTP GET请求中的参数.我使用JSONP传递参数,但是它看起来像JSONP推动JSON对象上到请求行所以它不是真的正在被发送,但是,URL,而不只是名称值对的JSON对象.

是否可以将我的GET请求中的值映射到POJO?当我尝试绑定时,Jersey会给出以下异常

HTTP GET方法public void handleJSONP(MyPojo)不应使用任何实体.

绑定代码在请求体中查找,但它不存在,因为它是GET请求.是否有任何其他方法来绑定请求中的值,而无需为每个方法手动包含@QueryParam条目?

谢谢

cdu*_*gan 7

我可以使用泽西的@ com.sun.jersey.api.core.InjectParam来解决这个问题

public JSONWithPadding doSomething(@InjectParam final MyPojo argPojo) 
Run Code Online (Sandbox Code Playgroud)

然后Pojo看起来像这样

public class MyPojo 
{
/** */
@QueryParam("value1")
private String value1;

/** */
@QueryParam("value2")
private String value2;

/** */
@QueryParam("value3")
private List<String> value3;
Run Code Online (Sandbox Code Playgroud)