我上课了:
@XmlRootElement(name = "myobject")
@XmlAccessorType(XmlAccessType.FIELD)
public class MyObject {
@XmlElement
private Long id;
@XmlElement
private String name;
...
}
我使用Retrofit 2将数据发送到服务器。 REQ
接口方法:
@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}中包裹身体。怎么解决?
答案 0 :(得分:2)
最简单的方法是将响应包装在您尝试发送的对象周围。
public class ObjectWrapper {
@SerializedName("myobject")
public final MyObject myObject;
public ObjectWrapper(MyObject myObject) {
this.myObject = myObject;
}
}