在Android中的okhttp中向GET请求添加查询参数

dor*_*ors 8 android okhttp

有没有办法在Android中?param1=val1&param2=val2使用查询params()添加到GET请求okhttp

我正在寻找一个API,而不是在循环中手动添加参数并转义值.

Vit*_*nko 12

尝试HttpUrl上课(在okhttp包中).


//adds the pre-encoded query parameter to this URL's query string
addEncodedQueryParameter(String encodedName, String encodedValue)

//encodes the query parameter using UTF-8 and adds it to this URL's query string
addQueryParameter(String name, String value)
Run Code Online (Sandbox Code Playgroud)

注意:如果已经存在具有此名称的名称/值对,则这些函数将只添加另一对


setEncodedQueryParameter(String encodedName, String encodedValue)

setQueryParameter(String name, String value)
Run Code Online (Sandbox Code Playgroud)

注意:如果已经存在具有此名称的名称/值对,则这些函数将删除它们,并且仅在添加此新对之后


例:

HttpUrl url = new HttpUrl.Builder()
    .scheme("https")
    .host("www.google.com")
    .addPathSegment("search")
    .addQueryParameter("q", "polar bears")
    .build();
Run Code Online (Sandbox Code Playgroud)


Tim*_*Tim 1

这对于当前版本的 okhttp 来说是不可能的,没有提供任何方法可以为您处理这个问题

然而,okhttp 的开发人员之一Jesse Wilson表示

我们将添加一个新的 HttpUrl 类,可以在下一版本中执行此操作。