我使用的是Retrofit2
我需要问api,只是看起来像那样 http://1.1.1.1/get?key=value1&value2
如何才能使用只有值的查询?作为上面例子中的value2? 我在这里尝试过: Retrofit no key name on URL parameter
有什么想法吗?
答案 0 :(得分:3)
在这种情况下,您可以直接调用整个网址。
@GET()
Call<ResponseVO> test(@Url() String url);
并致电
test("http://1.1.1.1/get?key=value1&value2")
答案 1 :(得分:2)
使用最新版本的Retrofit2 @QueryName
@GET("http://1.1.1.1/get")
Call<Object> getYourData(@Query("key") String key, @QueryName String value);
调用该方法时,每个查询名称都将附加到URL。您可以在此处查看JavaDoc:https://square.github.io/retrofit/2.x/retrofit/retrofit2/http/QueryName.html
答案 2 :(得分:0)
请将查询参数值value1&amp; value2编码为value1%26value2,如
http://1.1.1.1/get?key=value1&value2
到
http://1.1.1.1/get?key=value1%26value2
当你进入时
@GET("http://1.1.1.1/get?")
Call<Object> getYourData(@Query("key") String value);
答案 3 :(得分:-1)
@GET("http://1.1.1.1/get?key=value")
Call<Object> getYourData(@Query("value") String value);
然后当你调用“getYourData”时,只需将value1和value2放在不同的字符串中并连接它们并将该新字符串传递给“getYourData”方法。
P.S别忘了这个标志“&amp;”将两个字符串合并在一起时。