【问题标题】:Android Development and retrofitAndroid 开发与改造
【发布时间】:2018-07-01 21:36:03
【问题描述】:

我的问题很简单,我想在 android 中使用改造的帮助 github api 来检索我的 github 存储库,所以我有点困惑如何将我的 github 用户名传递给我尝试过的 url,但它给了我错误消息。 这是我用于检索我的 github 存储库的 Web 服务 URL: https://api.github.com/users/mshahzaib374/repos。在这里你可以看到我的用户名是 mshahzaib374,那么如何将我的用户名作为参数传递给 url。 我希望你能理解我的问题,我附上了代码 sn-ps 和错误屏幕,请看一下,谢谢提前。

【问题讨论】:

    标签: android retrofit


    【解决方案1】:

    Retrofit homepage 包含与您想要的非常相似的示例代码:

    public interface GitHubService {
      @GET("users/{user}/repos")
      Call<List<Repo>> listRepos(@Path("user") String user);
    }
    

    因此,要在 URL 中插入用户名,您必须将部分 URL 替换为大括号中的某个名称,并将相应的参数添加到标有 @Path("&lt;your parameter name&gt;") 注释的方法中。

    【讨论】:

    • 让我检查一下
    • 如果可能我想在改造中使用 hashmap 添加参数
    • 不能使用Map传递路径参数,但是可以使用@QueryMap作为查询参数,@PartMap作为POST请求体
    • 我尝试了与您相同的代码,但它现在向我显示此错误
    • E/Fail: java.lang.IllegalStateException: 预期 BEGIN_OBJECT 但在第 1 行第 2 列路径 $ 处是 BEGIN_ARRAY
    【解决方案2】:

    您可以像这样进行 GET API 调用

    GET /users/:username/repos
    

    Check this out 官方 GIT api 文档。

    希望对你有帮助。

    【讨论】:

    • 其实我想通过hash map给参数
    猜你喜欢
    • 2013-11-16
    • 1970-01-01
    • 2021-03-05
    • 2015-03-06
    • 1970-01-01
    • 2012-05-25
    • 1970-01-01
    • 2021-08-21
    • 2016-11-05
    相关资源
    最近更新 更多