我有课:
@XmlRootElement(name = "myobject")
@XmlAccessorType(XmlAccessType.FIELD)
public class MyObject {
@XmlElement
private Long id;
@XmlElement
private String name;
...
}
我使用Retrofit 2将数据发送到服务器。要求
方法进入界面:
@POST("/update")
Call<Response> updateObject(@Body MyObject myObject);
当我使用这个:
retrofit = new Retrofit.Builder()
.baseUrl(API_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
ServerAPI api = getRetrofit().create(ServerAPI.class);
Call<Response> call = api.updateObject(myObject);
...
retrofit2.Response response = call.execute();
...
发送到服务器
{"id":3,"name"}
但是我需要
{myobject:{"id":3,"name"}}
也就是说,将正文包裹在{myobject}中。怎么修?
最佳答案
最简单的方法是将响应包装在要发送的对象周围。
public class ObjectWrapper {
@SerializedName("myobject")
public final MyObject myObject;
public ObjectWrapper(MyObject myObject) {
this.myObject = myObject;
}
}