动态地将没有值的查询参数添加到Retrofit请求

Yur*_*aev 10 url square-bracket retrofit

我已请求设置为用户启用的服务列表.

请求格式如下:

https://myserver.com/setservices?param1=val1m2=val2&service[10]&service[1000]&service[10000]

服务参数列表("service [10]&service [1000]&service [10000]")是动态创建的,每个参数都没有值.是否有可能使用Retrofit实现这一目标?

Woj*_*hKo 25

改造文件:

对于复杂的查询参数组合,Map可以使用a.

@GET("/group/{id}/users")
List<User> groupList(@Path("id") int groupId, @QueryMap Map<String, String> options);
Run Code Online (Sandbox Code Playgroud)

我想这会成为你想要达到的目标.


Yur*_*aev 5

我找到了解决方法如何做到这一点.

@GET("/setservices{services_query}")
ServicesSetResponse setServices(@EncodedPath("services_query") String servicesQuery);
Run Code Online (Sandbox Code Playgroud)

然后:

getService().setServices("?param1=val1&param2=val2" + "&services[10]&services[100000]&services[1000000]")
Run Code Online (Sandbox Code Playgroud)