Retrofit2 请求的路径被转义,导致异常http 400

异常url:http://192.168.0.190:8080/DNGF%2Fdayreal%2FfindAppShouYe.do

罪魁祸首@Url与@Path注解,我们开发过程中,肯定会需要动态的修改请求地址
两种动态修改方式如下:

@POST()
Call<HttpResult<News>> post(@Url String url, @QueryMap Map<String, String> map);
@POST("api/{url}/newsList")
Call<HttpResult<News>> login(@Path("url") String url, @Body News post);

第一种是直接使用@Url,它相当于直接替换了@POST()里面的请求地址
第二种是使用@Path(“url”),它只替换了@POST(“api/{url}/newsList”)中的{url}
如果你用下面这样写的话,就会出现url被转义

你如果执意要用@Path,也不是不可以,需要这样写

@POST("{url}")
Call<HttpResult<News>> post(@Path(value = "url", encoded = true) String url);

参考链接:https://www.jianshu.com/p/73216939806a

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值