2016-04-05 8 views
0

POSTを使用して複数のフォームパラメータをRESTサービスに送信しようとしています。しかし、クライアントから送信されるパラメータは常にnullとして受信されます。JAX-RSで@FormParamでアノテーションされたメソッドパラメータは常にnullです

@POST 
@Path("/login") 
@Produces({ "application/json" }) 
public LoginData userLogin(@FormParam("picture") String picture, 
          @FormParam("name") String name, 
          @FormParam("email") String email) { 
    ... 
} 

私は以下のコードのようなすべてのパラメータを削除すると、それが正常に動作します:

@POST 
@Path("/login") 
@Produces({ "application/json" }) 
public LoginData userLogin() { 
    ... 
} 

私がチェックしたと、クライアントから送信された値がnullではありません。

パラメータを受け取る別の方法はありますか?

+0

あなたの 'picture'パラメータは何ですか?それは本当に 'String'ですか? –

+0

はいそれらのすべてが文字列です@CássioMazzochiMolin – Dinuka

+0

リクエストをどのように実行していますか? –

答えて

1

@Consumes(MediaType.APPLICATION_FORM_URLENCODED)であなたの方法を注釈:

@POST 
@Path("/login") 
@Produces(MediaType.JSON) 
@Consumes(MediaType.APPLICATION_FORM_URLENCODED) 
public LoginData userLogin(@FormParam("picture") String picture, 
          @FormParam("name") String name, 
          @FormParam("email") String email) { 

    ... 
} 

、要求のContent-Typeapplication/x-www-form-urlencodedであることを確認してください。

+1

あなたは正しいです!コンテンツタイプとブームとしてapplication/x-www-form-urlencodedを追加しました!ありがとう :) – Dinuka

関連する問題