[英]How can I overload a method with @QueryParam in Jersey/Spring?
我想用 @QueryParam 重载一个方法,但每次我尝试执行这段代码时,它都会抛出:
SEVERE: Exception occurred when intialization
com.sun.jersey.spi.inject.Errors$ErrorMessagesException
我的代码是:
@GET
@Path("/test")
@Produces("text/plain")
public String getText(@QueryParam("PID") String pid)
{
return pid;
}
@GET
@Path("/test")
@Produces("text/plain")
public String getText(@QueryParam("PID") String pid, @QueryParam("NAME") String name)
{
return pid + name;
}
不可以。
在 java 中没问题,但关于它的事情是 - 从 servlet 方面 - jersey 需要 map 每个 url 到你的 class 中的一些 function。
当然,您可以做的是将其分成 2 个方法,或者构建一个方法来检查参数并执行正确的逻辑。
您可以根据请求中存在的请求/查询参数来重载 rest 端点。
这是解决我的用例的答案:为具有不同 arguments 的相同 url 模式创建两个方法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.