3

Ext.Ajax.requestサーバー上の一部のデータを削除するためにuseメソッドを送信しようとしています。私のリクエストメソッドは次のようになります:

Ext.Ajax.request({
      url: '/myserver/restful/service/delete',
      method: 'DELETE',
      headers: {
        'Content-Type': 'application/json'
      },
      params: {
        userId: 12345
      }
});

私のジャージサーバーで私は以下のように書いています:

@Path("/delete")
  @DELETE
  @Consumes(MediaType.APPLICATION_JSON)
  @Produces(MediaType.APPLICATION_JSON)
  public Response deleteUser(final String userId) {
    System.out.println("user id = " + userId);
    return Response.ok().entity("success").build();
  }

このメソッドは、ユーザーIDを次の形式で出力します。

user id = userId=12345

したがって、の期待値はuserIdです12345が、それは私に与えていますuserId=12345。私はジャージの初心者なので、今何をすべきか決めることができません。

誰かが何が悪いのか教えてもらえますか?

4

2 に答える 2

5

ジャージーで何が問題になっているのかはわかりませんが...リクエスト本文でDELETEを使用しようとしている場合は、とにかく間違った方向に進んでいます。しないでください。DELETEに関連する唯一のパラメーターは、適用されるリクエストURIである必要があります。

于 2012-12-19T13:52:08.847 に答える
2

@Julianは正しいので、HTTPDELETE動詞を含むパラメーターを使用するべきではありません。

これを試して:

@Path("/delete/{userId} 

次に、メソッドの内部:

@PathParam("userId") String userId

次に、サービスを呼び出すときに、URLを:(delete/(userId)親なし)に変更し、パラメーターを削除します。

于 2012-12-19T14:00:07.673 に答える