android - 追加问号到url改造android

标签 android networking get retrofit

美好的一天。我想获得这样的网址http//:www.someurl.com/someRedirect/anotherRedirect/?searchCriteria

问题是我不能将问号附加到改造中,如果我这样做

@GET("someRedirect/anotherRedirect/{searchCriteria}")
    Call<ResponseBody> getProductsList(@Path("searchCriteria") String appendedUrl);

并调用此方法并附加 ?标记,它只会放一些奇怪的 %3fb 或其他东西,如果我喜欢这个

@GET("someRedirect/anotherRedirect/")
    Call<ResponseBody> getProductsList(@Query("searchCriteria") String appendedUrl);

改造后会给出类似http//:www.someurl.com/someRedirect/anotherRedirect/?searchCriteria=searchCriteria的链接...这个库到底出了什么问题?如何简单地构建我想要的网址?

最佳答案

您使用的是 Retrofit 1 还是 2?无论如何,Retrofit 默认情况下都会对路径进行 URL 编码。不过,您可以轻松禁用它:

如果您使用 1,则应使用 @EncodedPath 而不是 @Path

如果您使用 2,则应使用@Path(value = "searchCriteria",encoded = true)

关于android - 追加问号到url改造android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39141025/

相关文章:

java - Android水平 ScrollView

android - Joda DateTimeFormat 在多个设备中表现不同 (Android)

c++ - inet_pton是做什么的?我不应该获取我的IP地址,而是十进制吗?

node.js - require 中的 Node js : Why module. Exports = tesdf() 仅在 get 请求中执行一次

android - api.ai - 禁止 GET/INTENTS 查询 -

php - 使用 PHP 更新数据库表不起作用

android - ionic navigator.camera.getPicture 不会从 PHOTOLIBRARY 返回图像

android - Audiomanager 和 MediaPlayer 的区别

language-agnostic - tcp底层传输机制/网络编程

java - 参数中的0有什么意义--String message=new String(recievepacket.getData(),0,recievepacket.getLength());