リソースのRESTインターフェースにこのようなメソッドが欲しいのですが
@POST
@Consumes(MediaType.APPLICATION_JSON)
public void add(@Auth User user, @Valid Food food) {
//consume
}
ただし、次のようなエラーが発生するため、これは不可能です。「重大:インデックス0のパラメーターでメソッドpublic void com.restaurant.FoodResource.add(com.restaurant.User、com.restaurant.Food)の依存関係がありません重大:欠落していますインデックス1のパラメータでのメソッドpublicvoidcom.restaurant.FoodResource.add(com.restaurant.User、com.restaurant.Food)の依存関係重大:メソッド、public void com.restaurant.FoodResource.add(com.restaurant.User、リソースのPOSTで注釈が付けられたcom.restaurant.Food)、クラスcom.restaurant.FoodResourceは、有効なリソースメソッドとして認識されません。
仕様(3.3.2.1エンティティパラメータ) http://jsr311.java.net/nonav/releases/1.1/spec/spec3.htmlに従って、特定の注釈で注釈が付けられていない2つのパラメータを持つことはできないことがわかりました。
このようなことをまだ行うためにどのようなオプションがありますか?私の頭に浮かぶのは、ユーザーと食べ物をカプセル化したオブジェクトですが、それは私にとって良い解決策のようには思えません。
このようなことをするための他のよりエレガントな方法はありますか?JSON Food表現を@PathParamとして送信できますか?