Chúng ta có thể quan sát kĩ hơn dưới đây.
product_name:mouse
price:1000
product_store[][store_id]:1
product_store[][name]:store 1
product_store[][store_id]:2
product_store[][name]:store 2
product_store[][store_id]:3
product_store[][name]:store 3
amount[]:23
amount[]:12
amount[]:34
Khi đã test qua với postman chúng ta sẽ có cái nhìn rõ ràng hơn với những việc cần phải làm
    @POST("products")
    Observable<Product> createProduct(@Body RequestBody in);
Tạo RequestBody sử dụng MultipartBody.Builder
  public RequestBody makeRequestBody() {
        MultipartBody.Builder builder = new MultipartBody.Builder();
        builder.setType(MultipartBody.FORM);
        builder.addFormDataPart("product_name", "mouse");
        builder.addFormDataPart("price", "1000");
        builder.addFormDataPart("product_store[][store_id]", "1");
        builder.addFormDataPart("product_store[][name]", "store 1");
        builder.addFormDataPart("product_store[][store_id]", "2");
        builder.addFormDataPart("product_store[][name]", "store 2");
        builder.addFormDataPart("amount[]", "23");
        builder.addFormDataPart("amount[]", "12");
        builder.addFormDataPart("amount[]", "34");
        if (file != null && file.exists()) {
            RequestBody fileBody = RequestBody.create(MediaType.parse("image"), file);
            builder.addFormDataPart("image", file.getName(),
                    fileBody);
        }
        builder.build();
    }
Việc cuối cùng rất đơn giản chỉ việc gọi method trong interface và truyền vào RequestBody được tạo từ hàm trên .