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

Gra*_*min 4 java spring overloading jersey query-parameters

我想用@QueryParam重载一个方法,但每次我尝试执行这个代码时它会抛出:

SEVERE: Exception occurred when intialization
com.sun.jersey.spi.inject.Errors$ErrorMessagesException
Run Code Online (Sandbox Code Playgroud)

我的代码是:

@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;
}
Run Code Online (Sandbox Code Playgroud)

she*_*hem 7

不可以.

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

当然,你可以做的是将它分成2个方法,或者构建一个检查参数并做正确逻辑的方法.

  • +1方法必须具有唯一的路径.查询参数不被视为路径的一部分.您可以尝试使用`@ PathParam`. (3认同)