Пытаюсь отправить на сервер POST запрос на создание заказа. Использую Retrofit 2.
Описываю переменные:
Код: Выделить всё
private Gson gson = new GsonBuilder().create();
private Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create(gson))
.baseUrl("mySite.ru")
.build();
private APIv1 intface = retrofit.create(APIv1.class);
Формирую следующий Map, а как правильно описать Интерфейс и передать параметр не могу сообразить:
Код: Выделить всё
Map<String, String> params = new HashMap<String, String>();
params.put("price", String.valueOf(OrderProducts.getBoxSumm()));
params.put("number_person", "1");
params.put("payment_type", "cash");
params.put("delivery", "yes");
params.put("client[name]", this.clientname);
params.put("client[phone]", this.clientphone);
params.put("client[address]", this.clientaddress);
List<OrderProducts> orderProducts = OrderProducts.getOrderProductsNew();
for (int i = 0; i < orderProducts.size(); i++) {
OrderProducts p = orderProducts.get(i);
Product product = Product.getProductById(p.productid);
if (product != null) {
params.put("products["+ String.valueOf(i)+"][product_id]", String.valueOf(product.extid));
params.put("products["+ String.valueOf(i)+"][amount]", String.valueOf(p.amount));
}
}
Код: Выделить всё
public interface APIv1 {
@Multipart
@POST("/api/v1/order/create")
Response SendOrder(@Body ЧтоДолжноБытьЗдесь?);
}