Java @泽西岛的路径和@queryparam
我正在开发一个简单的restful Web服务,我是这方面的新手。因此,我参考了基本教程并成功地执行了它们 下面是我为继续编写而编写的示例代码Java @泽西岛的路径和@queryparam,java,web-services,rest,jersey,Java,Web Services,Rest,Jersey,我正在开发一个简单的restful Web服务,我是这方面的新手。因此,我参考了基本教程并成功地执行了它们 下面是我为继续编写而编写的示例代码 import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; @Pa
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
@Path("/text/{sso}")
public class Do {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String simple(@PathParam("ss") @QueryParam("d") String params) {
return "Hello Jersey"+params;
}
@GET
@Produces(MediaType.TEXT_PLAIN)
public String advanced(@PathParam("as") @QueryParam("d") String params) {
return "Hello Jersey-----"+params;
}
}
我基本上需要的是在同一个类中公开两个不同的方法,并根据url访问相应的方法
执行上述操作时,它抛出以下错误-com.sun.jersey.spi.inject.Errors$ErrorMessagesException
如果我在正确的轨道上,有人能指引我吗?如果是,请告诉我我错过了什么。如果不是,那么这种情况下的正确方法是什么?如果要匹配两个QueryParam
s,则方法必须有两个参数
public String simple(@PathParam("ss") String paramSs,
@PathParam("d") String paramD) {
// ...
}
@PathParam
是一个方法参数的注释。代码中有两个问题
@PathParam
注释需要应用于方法的参数@PathParam
注释的值需要与路径段匹配@Path("/text/{sso}")
并且具有值“sso”。因此,您的代码应该更像这样:
@Path("/text/{sso}")
public class Do {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String simple(@PathParam("sso") String sso,
@QueryParam("d") String params) {
return "Hello Jersey" + params;
}
@GET
@Produces(MediaType.TEXT_PLAIN)
public String advanced(@PathParam("sso") String sso,
@QueryParam("d") String params) {
return "Hello Jersey-----" + params;
}
}