首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加queryparam OKHttp3

添加queryparam OKHttp3
EN

Stack Overflow用户
提问于 2018-02-19 10:27:01
回答 1查看 265关注 0票数 1

我对我的API提出了一个GET请求,cURL如下所示:

代码语言:javascript
复制
curl -X GET "http://www.example.com/api/users?role=ROLE1&role=ROLE2&role=ROLE3&pag=0&num=0" -H "accept: application/json"

我尝试按我的Android应用程序发出请求,但是"addQueryParameter“并没有添加角色

代码语言:javascript
复制
public void getActors(String[] roles, final ApiManager.Callback<List<UsersDetails>> callbackUsers) throws JSONException{
      final String url = BuildConfig.BASE_AUTH_URL + "/users";

      HttpUrl.Builder httpBuilder = HttpUrl.parse(url).newBuilder();
      httpBuilder.addQueryParameter("roles", "ROLE1");
      httpBuilder.addQueryParameter("roles", "ROLE2");
      httpBuilder.addQueryParameter("roles", "ROLE3");
      httpBuilder.addQueryParameter("pag", "0");
      httpBuilder.addQueryParameter("num", "0");


      Request request = new Request.Builder()
              .url(httpBuilder.build())
              .addHeader("Content-type", "application/json")
              .get()
              .build();
...

编辑:这个更改的代码可以工作,但是我从服务器获得了一个null。

在每个GET中,角色总是相同的。有人能帮我弄清楚我在哪里出错吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-19 11:30:07

您可以尝试okHttpBuilder,并尽可能多地尝试。

代码语言:javascript
复制
FormBody.Builder builder = new FormBody.Builder();
for (String m : list) {
    builder.add("roles", m);
}

然后像这样使用它

代码语言:javascript
复制
url.post(body.build());

代码语言:javascript
复制
httpBuilder.addQueryParameter("roles"+[0], "ROLE1");
httpBuilder.addQueryParameter("roles"+[1], "ROLE1");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48864077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档