2017-08-23 9 views
1

を送るのメモリアドレスにオブジェクトを送信ではなく、私はクラスを持っている値

@FormUrlEncoded 
@POST("/pet/{id}") 
Pets postPets(@Path("id") String id,@Field("pets") ArrayList<PetModel> pets); 

ログには、値自体を送信するのではなく、<package_name>[email protected]を送信する要求があります。私は間違って何をしていますか?

+0

@Bodyを試しましたか? –

+0

はい、本体にも同じ問題があります。 – Metal

+0

ここにあなたの返信を投稿してくださいあなたの応答JSON here ...... – sushildlh

答えて

0

怒鳴る方法を試してみてください、あなたは、サーバー側のコードへのアクセス権を持っているし、それを変更することができます場合は、単に一般的なの配列リストを含むクラスとしてのviewmodelか何かを追加するソリューション

PrintWriter out = response.getWriter(); 
List<Countries> country = new ArrayList<Countries>(); 
country = FetchData.getAllCountries(); 
JSONObject js = new JSONObject(); 
js.put("countries", country); // make sure the Country class overrides toString() 

// set the response content-type 
response.setContentType("application/json"); 

// writing the json-array to the output stream 
out.print(js.toJSONString()); 
out.flush(); 
0

得ますすることができますarraylistsと一緒に働くすべての人がそれを使用します。

同じ方法で解決できるString型をサーバーから取得するときにも同様の問題があります。

0

PetModelクラスのtoString()メソッドをオーバーライドします。

public class PetModel { 
    Serialized("cat") 
    String cat; 
    Serialized("dog") 
    String dog; 
    // getters and setters 

    @Override 
    public String toString() { 
     return "Cat " + cat + " Dog " + dog; 
    } 
} 
関連する問題