我正在用泽西岛建立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
查找“严重”错误时打印到日志中你得到的上述异常之前。用这个错误更新你的问题。 –