Amazon の Web API は、クエリ文字列パラメーターを使用して操作を指定することにより、非 CRUD 操作に「クエリ API」を使用します。同様の方法で非 CRUD 操作を実装したいと考えています。
特定のクエリ文字列パラメーターの値に依存するJersey JAX-RSを使用してPOSTリソースメソッドをマップする方法はありますか? たとえば、次のようなことをしたいと思います。
@POST @Query(name="xaction", value="move")
public Response move(@QueryParam("source") String source, @QueryParam("dest") String dest)
{
...
}
@POST @Query(name="xaction", value="copy")
public Response copy(@QueryParam("source") String source, @QueryParam("dest") String dest)
{
...
}
上記の例では、URI パスに関係なく、「xaction」クエリ文字列パラメーターの値に応じて、フレームワークが適切なメソッドにディスパッチすることが期待されます。残念ながら、パスやメソッドを使用してこれらの操作を区別する余裕はありません。これを解決するために、JAX-RS またはカスタム実装と互換性のある他のライブラリの提案を受け入れます。