【问题标题】:Getting error in api calling in retrofit 1.9.0 [duplicate]在改造 1.9.0 中调用 api 时出错 [重复]
【发布时间】:2018-04-25 19:29:49
【问题描述】:

我的api调用是这样的

@FormUrlEncoded
    @POST("/dealer/index.php")
    void getDealersPacks(
            @Query("r") String query,
            @Field("cd_dealer_id")
                    String cd_dealer_id,
            @Field("country_code")
                    String country_code,
            @Field("business_type")
                    String business_type, Callback<String> cb);

我收到了这个错误

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_STRING but was OBJECT at line 1 column 59 path $.

【问题讨论】:

  • @vineet 分享您的响应模型和来自 api 的响应......以便我们可以提供帮助......您没有正确处理响应。
  • 在邮递员中我得到了这个响应 {"success":true,"message":"","data":}
  • 显示你的响应模型类

标签: java android retrofit


【解决方案1】:

错误表明方法“getDealersPacks”需要一个字符串值。但是您作为参数发送的是一个对象。所以它抛出语法异常。请正确检查您发送的输入参数的数据类型。

【讨论】:

  • 我正在以字符串格式发送所有三个参数
  • 这是什么“回调 cb”?最后一个参数??最好检查一下后端并确认要为此 API 调用发送的参数。
  • 这是处理成功或失败结果的回调
  • 您是否在邮递员中发布了该回调参数?
  • 尝试添加回调作为方法返回类型。例如:-Call searchUserName(@Query("userName") String userName);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-10
  • 1970-01-01
  • 1970-01-01
  • 2020-07-20
  • 2016-06-09
  • 1970-01-01
相关资源
最近更新 更多