如何在Jersey / Spring中使用@QueryParam重载方法?

时间:2012-04-05 13:59:14

标签: java spring jersey overloading query-parameters

我想用@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;
}

2 个答案:

答案 0 :(得分:7)

不可以。

在java中没关系,但关于它的事情是 - 从servlet方面 - jersey需要将每个url映射到你班级中的某个函数。

当然,您可以将其分为两种方法,或者构建一种检查参数并执行正确逻辑的方法。

答案 1 :(得分:0)

您可以根据请求中存在的请求/查询参数来重载其余端点。

这是解决我的用例的答案:为具有不同参数的相同url模式创建两个方法