我是Android开发人员的新手,我想知道如何使用okhttp
执行GET请求。我已经提到http://square.github.io/okhttp/,但他们只有POST请求的示例。我试过这个 -
okHttpClientLogin = new OkHttpClient();
requestBodyLogin = new FormBody.Builder()
.addEncoded("name", name_input) // params
.addEncoded("keys", keys_input) //params
.build();
requestLogin = new Request.Builder()
.addHeader("Authorization", token_type + " " +access_token)
.url(LOGIN_URL)
.get()
.build();
并收到错误:
{“status”:{“status”:206,“msg”:“找不到记录”},“user”:null}
我知道为什么会出现这个错误,因为没有输入参数。我也尝试在requestBodyLogin
内传递.get()
,但它不允许。
答案 0 :(得分:1)
自OkHTTP 2.4以来,函数addQueryParameter
。您可以使用HttpUrl
,String
或java.net.URL
作为网址。
基本上,只需创建一个新的HttpUrl.Builder()
并使用函数addQueryParameter
。
取自javadocs的示例:
HttpUrl url = new HttpUrl.Builder()
.scheme("https")
.host("www.google.com")
.addPathSegment("search")
.addQueryParameter("q", "polar bears")
.build();
http://square.github.io/okhttp/3.x/okhttp/okhttp3/HttpUrl.html