4

@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;
}
4

2 に答える 2

7

いいえ、できません。

Javaでも問題ありませんが、サーブレット側から見ると、サーブレットは各URLをクラス内の関数にマップする必要があります。

もちろん、できることは、それを2つのメソッドに分割するか、パラメーターをチェックして適切なロジックを実行する1つのメソッドを構築することです。

于 2012-04-05T14:02:49.440 に答える
0

リクエストに存在するリクエスト/クエリパラメータに関して、残りのエンドポイントをオーバーロードできます。

これが私のユースケースを解決した答えです:異なる引数で同じURLパターンに対して2つのメソッドを作成します

于 2017-01-24T07:32:30.190 に答える