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

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

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

@POST()
Call> post(@Url String url, @QueryMap Map map);
@POST("api/{url}/newsList")
Call> 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

你可能感兴趣的:(Android)