如何使用字符串进行改造获取请求?

时间:2015-10-24 23:14:06

标签: java retrofit

我需要在改造中提出Get请求,参数将Strings以空格分隔。

例如:

http://www.something.com?req=hello testing

当我们在浏览器中点击上述网址时,它会变成这样:

http://www.something.com/?req=hello%20testing

如何通过改造实现目标?我知道基本的并且能够成功地从改造中调用Get请求,但所有这些请求都包含一个字符串或类似的参数。

 @GET("/search?req={req}")
public Observable<List<Model>> getWarehouse (String req);

要拨打上述请求,我写了以下代码:

adapter.create(WarehouseAPI.class).getWarehouse()
            .subscribeOn(Schedulers.newThread())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Observer<List<Warehouse>>(){
    ..........
    ..........

在上面的代码中传递带空格的字符串需要更改什么?

1 个答案:

答案 0 :(得分:0)

我没有使用改装。这不是一个改造问题。由于这是 GET 请求,因此网址不得包含空格,必须使用 + %20 进行编码。这又在服务器端进行了解码。

在这里查看http://www.ietf.org/rfc/rfc3986.txt

了解更多信息

Is a URL allowed to contain a space?