我一直在使用澤西一段時間,我只實現了一個POST方法,它獲取Json作爲參數。不過,我希望它的功能如下:Jersey作爲ClassObject的方法參數
// The json class to be used and returned
@XmlRootElement
public class Container
{
private boolean isOk;
private String message;
public Container() {}
public boolean getOk()
{
return this.isOk;
}
public void setOk(boolean isOk)
{
this.isOk = isOk;
}
}
// A service
@Path("json/test")
public class TestService
{
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Container readAndReturnMessage(Container receivedJson)
{
doSomething(receivedJson.getMessage());
return receivedJson;
}
}
不幸的是,這是行不通的。儘管傳遞給服務的原始json沒有任何問題,但所有容器變量均爲null。這裏有什麼方法,我是否需要以String作爲參數,並使用Jackson/Gson進行反序列化?
對不起,有getter&setters。我只是忘了添加它們。 – 2012-08-05 15:02:00
如果變量名是'isOk'然後吸氣劑必須是'getIsOk()'和'二傳手setIsOk(布爾ISOK) – 2012-08-05 21:11:30
難道真的變量取決於他們在這種情況下getter和setter方法? – 2012-08-06 17:02:54