java.lang.String无法强制转换为java.util.Map Retrofit 2 Post Request with Query Params

时间:2018-01-05 07:44:02

标签: android retrofit2

我正在尝试使用改造2.3.0发布帖子请求。这是:

device ids

但它直接引发了一个错误说:

@POST("/oscarapi/basket/add-product/")
    Call<Basket> addItemToBasket(@Query("area_id") int areaId,@Body HashMap<String, Object> body);

只有当我将改装版本更新为gradle中的最新版本时,才会出现此错误。同样在Android 7.0及更高版本上它工作正常,但在Android 6.0上显示此错误。如果我删除查询参数调用通过。

问题绝对是@Query。是否有另一种方式来传递查询参数以用于发布请求?因为它只需要Map参数作为post请求的主体。它没有识别@Query或@QueryMap属性。

我这样称呼这个方法:

java.lang.String cannot be cast to java.util.Map

body的类型为HashMap&amp; getAreadId返回一个整数值。

0 个答案:

没有答案