改造2 @FieldMap始终为空

时间:2015-12-11 08:59:26

标签: android http request retrofit

我已手动制作地图

private Map<String, Object> getProducts(){
    List<CartContentDMC> products = new Select().from(Data.class).execute();
    Map<String, Object> productMap = new LinkedHashMap<>();
    for(int j = 0; j < products.size(); j++){
        productMap.put("products[" + Integer.toString(j) + "][code]", Integer.toString(products.get(j).id));
        productMap.put("products[" + Integer.toString(j) + "][amount]", products.get(j).amount);
        productMap.put("products[" + Integer.toString(j) + "][price]", Integer.toString(products.get(j).price));
    }
    return productMap;
}

,但在我的要求中:

@FormUrlEncoded
@POST("orders.json/createOrder?")
Call<Response> sendOrder(@Query("client_id") String id, @Query("access_token") String access_token,
                     @Query("order_id") int order_id, @Query("buyer_name") String buyer_name,
                     @Query("buyer_phone") String buyer_phone, @Query("buyer_address") String buyer_address,
                     @FieldMap Map<String, Object> products, @Query("delivery_price") int delivery_price,
                     @Query("website") String website);

FieldMap在请求中始终为空。

我在做什么&#39;错?

1 个答案:

答案 0 :(得分:0)

在这种情况下,最好使用@QueryMap而不是@FieldMap。