-1

いくつかの異なる DELETE メソッドを含むコードがあり、そのうちの 1 つがパラメーターを受け取るか、少なくとも理想的にはパラメーターを受け取ることになります。ただし、CURL または Web クライアントを介してこの要求を行うと、機能しません。他の DELETE リクエストは正常に機能し、呼び出しが機能するかどうかを確認するためだけに渡したいパラメーターをハードコーディングしました。PathParam と QueryParam の両方でこれを試しましたが、どちらも機能しません。これが私がPathParamsをどのように使用しているかです。これは正しいと確信しています.QueryParamsは非常に似ているので、それも投稿したくありません.

@DELETE
@Path("/byId/{id}")
public void deleteById(@PathParam("id") String id)

そして、基本的に QueryParams についても同じですが、明らかにパスが異なります

私が理解していることから、多くの RESTful API は、DELETE 要求を含むあらゆる種類の要求本文を無視するか、PUT または POST として扱います。これを回避する方法はありますか?基本的に、いくつかのオブジェクトを含むデータベースがあり、クライアントから渡される一意の識別子に基づいてオブジェクトを削除する必要があります。これを回避する方法がない場合、私がそれを行うことができる他の方法はありますか?

私はジャージーを数週間しか使用しておらず、この時点までRESTfulサービスの概念さえ聞いたことがなかったため、ここで明らかな何かが欠けている可能性があります。

4

1 に答える 1

0

情報は、ヘッダー、パス パラメータ、クエリ パラメータ、またはメッセージ本文として RESTful サービスに送信できます。

すべての値が期待どおりに通過する場合、jax-rs/jersey に問題はありません。ここで、コードをデバッグして実装を修正する必要があります。jax-rs は、実装した DELETE http メソッドを使用した DELETE 呼び出しにのみ一致します。

メソッド内でリソースの DELETE 操作を実際に実行するのは、ユーザーの責任です。jax-rs または jersey は、DELETE を実行しない場合、またはメソッド内で他のアクションを実行した場合に文句を言うことはありません。

于 2013-07-25T17:59:40.057 に答える