2017-02-04 9 views
-1

私は、サーバーへの私のangularjsクライアントデータから渡したい:ここ@FormParamまたは@FormDataParam角度のHTTP POSTフォームデータを取得する場合?

は私のクライアントです:

 var formData = new FormData(); 
     formData.append('voice', voice); 
     formData.append('isAddMode', isAddMode); 
     $http.put('/api/Voices/updateVoice', formData).then(
      function successCallback(response) { 

か:ここ

 $http.put('/api/Voices/updateVoice', {voice: voice, isAddMode : isAddMode}).then(

私のサーバーが

public void updateVoice(@FormDataParam("voice") VoiceBl voice, @FormParam("isAddMode") boolean isAddMode) throws Exception { 
です

複数のパラメータを使用してPOSTリクエストを取得するためにサーバーAPIを変更する方法正しく?あなたはこのようにそれを行うにして、クラスを修正するために、オブジェクトをキャストすることができ

答えて

0

@POST 
@Consumes(MediaType.APPLICATION_FORM_URLENCODED) 
public void create(final MultivaluedMap<String, Object> formParams) { 
    VoiceBl voice = (VoiceBl) formParams.get("voice"); 
    ... 
} 
0

私はあなたがJavaでHTTPサービスのパラメータなどVoiceB1としてカスタマイズされたクラスを受けることができない、やや確信。しかし、@FrAnが答えたとおり、MAP(これは基本的にJSONオブジェクトが異なって見える)を受け取り、それをあなたのクラスに変換することができます。それを行うにはさまざまな方法があります。とにかくこれが私のやり方です。

+0

FormDataを使用する方が良いですか?またはjsonオブジェクトをクライアント側から取得しますか? –

関連する問題