Retrofit2网络请求的path部分的“/”斜杠乱码为“百分号2F”,请求结果为400的请求无效

网络请求rxjava + retrofit2的方式请求网络,请求结果为400

通过抓包发现retrofit2的url的path参数的"/"被转义成为"%2F",然后服务器报400的请求无效的错误,之前很多请求接口以这种方式并没有报这种错误,自认为应该是服务器缺少某项配置,客户端的解决方式是将retrofit2的动态添加path注解的url部分编码,encoded = true,这样url的path部分就不会乱码,请求成功!

其他post和put等其他请求一样

@GET("{url}")
Observable executeGet(
    @Path(value = "url", encoded = true) String url,
    @HeaderMap Map headMap,
    @QueryMap Map paraMaps);

Retrofit2网络请求的path部分的“/”斜杠乱码为“百分号2F”,请求结果为400的请求无效_第1张图片

 

你可能感兴趣的:(android,retrofit2,乱码)