2016-05-31 5 views
0

プロパティを削除するHTTPエンドポイントを作成しようとしていますが、削除を実行しているユーザーに関する追加のメタデータを追加したいと思います。私はジャージーに次のサーバーサイドコードを持っています。クエリーパラメータを指定したJersey DELETEリクエスト

@DELETE 
@Path("/properties/{property_id}?deleted_by={deleted_by}") 
public Response deleteProperty(
    @PathParam("property_id") int propertyId, 
    @QueryParam("deleted_by") String deletedBy) 
{ 
    ... 
} 

私は/properties/123?deleted_by=testのようなURLでエンドポイントをヒットしようとすると、私が意図したとおりにクエリパラメータのすべての作品削除した場合しかし、私は404を取得します。 JerseyはDELETEのクエリパラメータをサポートしていないのですか、何か問題がありますか?

+0

クライアント側でhttp削除要求を送信していることを確認してください – Dimitri

答えて

4

パスの注釈でクエリパラメータについて言及する必要はありません。次のようにしてください:

@DELETE 
@Path("/properties/{property_id}") 
public Response deleteProperty(
    @PathParam("property_id") int propertyId, 
    @QueryParam("deleted_by") String deletedBy) 
{ 
    ... 
} 

Jersey documentationにはもう1つの例があります。

+0

作業経路からクエリパラメータを削除してください。ありがとう! – Dillen

関連する問題