В API ожидает следующий формат с многочастной/формой данных:Как преобразовать класс модели в данные MultiPart Form с помощью дооснащения?
{
"salesreq[ref]": "123",
"salesreq[pdate]": "123",
"salesreq[dealer_id]": "123",
"salesreq[sorders_attributes]": [
{
"product_id": "123",
"uprice": "123",
"quantity": "123"
},
{
"product_id": "123",
"uprice": "123",
"quantity": "123"
},
{
"product_id": "123",
"uprice": "123",
"quantity": "123"
}
]
}
Моя модель объект выглядит следующим образом:
public class NewReq
{
@SerializedName("salesreq[ref]")
@Expose
private String salesreqRef;
@SerializedName("salesreq[pdate]")
@Expose
private String salesreqPdate;
@SerializedName("salesreq[dealer_id]")
@Expose
private String salesreqDealerId;
@SerializedName("salesreq[sorders_attributes]")
@Expose
private List<SalesreqSordersAttributes> salesreqSordersAttributes = null;
public String getSalesreqRef()
{
return salesreqRef;
}
public void setSalesreqRef(String salesreqRef)
{
this.salesreqRef = salesreqRef;
}
public String getSalesreqPdate()
{
return salesreqPdate;
}
public void setSalesreqPdate(String salesreqPdate)
{
this.salesreqPdate = salesreqPdate;
}
public String getSalesreqDealerId()
{
return salesreqDealerId;
}
public void setSalesreqDealerId(String salesreqDealerId)
{
this.salesreqDealerId = salesreqDealerId;
}
public List<SalesreqSordersAttributes> getSalesreqSordersAttributes()
{
return salesreqSordersAttributes;
}
public void setSalesreqSordersAttributes(List<SalesreqSordersAttributes> salesreqSordersAttributes)
{
this.salesreqSordersAttributes = salesreqSordersAttributes;
}
}
Моего API вызов с помощью дооснащения выглядит примерно так:
@POST("/salereqs.json")
Call<ResponseBody> newRequisition(@Body NewReq textPart);
Вышеупомянутый вызов не работает, так как служба ожидает данных с несколькими частями/формами, и я отправляю их с помощью аннотации @body (прошу прощения за мой недостаток u знание API REST).
Мой вопрос:
Как отправить данные из нескольких частей, используя мой класс модели вместо того, чтобы вручную создать строку и передать его в качестве объекта MultipartBody.Part?
Кроме того, можно ли добавить загрузку изображения в эту функцию?
Не могли бы вы объяснить немного больше? Тело запроса имеет функцию writeTo. Как это поможет? – Asim