如何在改造的GET中使用multple @Path参数

时间:2015-10-20 07:21:30

标签: java android retrofit

我想在我的android项目的retrofit get方法中传递多个参数运行时间。以下是我的网址

http://myservice.com/home/MobileAPI/MobAPI.svc/LoginCriteria/26/address/1/permenant

我在这里使用基本网址:http://myservice.com/home/MobileAPI/MobAPI.svc

我想通过'地址'和' permenant'在我的GET方法中运行时使用Retrofit。

我正在尝试:

@GET("LoginCriteria/26/{address}/1/{permenant}")
void getDetails(@Path("address") String address,@Path("permenant") String permenant, Callback<AddressParser> parserCallback);

这是我的JSON回复:

{
   "response": {
       "type": "success",
       "data": {
       "datalist": {
           "total": "20",
           "user": [
               {
                   "empcode": "",
                   "companycode": "",
                   "companyname": ""
               },
                                   {
                   "empcode": "",
                   "companycode": "",
                   "companyname": ""
               }
                                   ]
                                           }
                           }
                           }
}

我得到以下的执行:

  

内部失败com.fasterxml.jackson.databind.JsonMappingException:   无法反序列化java.util.ArrayList的实例   START_OBJECT令牌。

如果我只在运行时传递一个参数,它就可以工作。它不适用于多个@Path参数。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

我猜这个问题与您的路径参数无关。 我确信它与您的请求的响应有某种关系。

启用登录改造并检查被叫URL和给定的响应。

例外情况说杰克逊无法解析您的请求的回复。