JerseyでRootResourceとSubResourceを使用しているときに、このようにRootResourceに注釈を付けて、フォームパラメータparam1を受け取りました。JerseyのRootResourceからすべてのpostパラメータを取得する
@Path("some/path")
public SubResource doSomething(@FormParam("param1") String param1) {
...
}
すべては私が期待したとおりに機能しましたが、パラメータが指定されていない場合、ジャージーは内部エラーステータスコード(500)を返します。一般的には、これは悪い要求(400)程度のものでなければならないと言います。私は自分のためにフォームパラメータを処理できる必要があります。この場合、
@Path("some/path")
public SubResource doSomething(MultivaluedMap<String, String> form) {
...
}
を、しかし:私はその後、実行しようとしました何
私はパラメータリストにMultivaluedMap<String, String> form
を追加、である(Jersey User Guide例2.19を参照してください) form
が入力されませんでした。 @POSTアノテーションがないためでしょう。
私の質問:あなたが私の投稿パラメータを得るために、私はイライラするHttpServletRequestを処理する以外にも、方法を知っていますか?あなたの助けのための
おかげで...
サブパラメータではなく、サブリソースロケータにフォームパラメータを渡す特別な理由はありますか自分自身を食べる? – Perception
あなたの質問を理解できないかもしれませんが、サブリソースロケータにパラメータを渡していません。コードスニペットは同じメソッドを表し、単に変更されています。 – Stefan