我正在用澤西島建立REST服務,並且我陷入了一個奇怪的例外。 我想打URI類似於REST:REST實現與澤西島的例外
http://localhost:9889/rest/Users/{userid}
內容與請求一起發送在JSON類似於:
{
"attr1":"name",
"attr2":"age"
}
端點URL代碼如下shwon:
@Path("/rest/Users")
class Users
{
@GET
@Produces(MediaType.TEXT_PLAIN)
@Path("/{userId}")
@Consumes(MediaType.APPLICATION_JSON)
public String getUserInfoQuery(
QueryDoc reqJSON,
@PathParam("userId") String userId,
@HeaderParam("Session-Token") String sessionId,
@HeaderParam("Authorization") String authToken)
)
{
.
.
.
.
}
}
而且QueryDoc資源是這樣的:
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
public class QueryDoc
{
@XmlElement(name = "attr1")
private String attr1;
@XmlElement(name = "attr2")
private String attr2;
//getters and setters
.
.
.
.
}
當我啓動服務器時,會拋出異常
com.sun.jersey.api.container.ContainerException: Fatal issues found at
class com.test.Users. See logs for more details.
at com.sun.jersey.server.impl.application.WebApplicationImpl.newResourceClass(WebApplicationIm....
我能在這裏找到這個異常http://www.skybert.net/java/jersey/ 和本link..the原因提的是
public String getUserInfoQuery(
QueryDoc reqJSON,
reqJSON不被註釋。如果我使用某些註釋對其進行註釋,則在服務器啓動時不會引發異常,但在這種情況下,url響應毫無意義。如果我刪除這個參數的網址,但它不會消耗請求JSON。 如何使其工作在我想要使用JSON內容的請求以及HeaderParams和PathParams
查找「嚴重」錯誤時打印到日誌中你得到的上述異常之前。用這個錯誤更新你的問題。 –