Сначала создайте интерфейс обратного вызова, подобный этому, и передайте весь класс Object.
@POST(URL)
public void newObject(@Body YourObject object, Callback<Boolean> success);
Retrofit использует Gson для сериализации и десериализации JSON по умолчанию. Например, если ваш класс Object выглядел следующим образом:
public class YourObject {
@Expose
private String param1;
@Expose
private String param2;
/**
*
* @return
* The param1
*/
public String getParam1() {
return param1;
}
/**
*
* @param param1
* The param1
*/
public void setParam1(String param1) {
this.param1 = param1;
}
/**
*
* @return
* The param2
*/
public String getParam2() {
return param2;
}
/**
*
* @param param2
* The param2
*/
public void setParam2(String param2) {
this.param2 = param2;
}
}
Затем Gson автоматически сериализовать в следующем формате JSON,
[
{
"param1": "string1",
"param2": "string2"
},
{
"param1": "string3",
"param2": "string4"
}
]
И вы все сделали!
, это замечательно, но что, если 'У меня есть другой Params, кроме массива Object, может Я все еще использую @Body? – sorinLates
Да, вы можете. Просто добавьте любой другой параметр/вложение, за которым следует запятая. e.g @ POST (URL) public void newObject (объект объекта @Body Object, @Part («content») Содержание строки, обратный вызов успех); –
Параметры @Body не могут использоваться с формой или многочастным кодированием. – sorinLates