解决retrofit2.adapter.rxjava.HttpException: HTTP 400 错误

转载请标明出处:http://blog.csdn.net/donkor_/article/details/80527305

前言

最近项目中遇到一件怪事,在get请求中发现没有数据,在debug时候发现居然爆了一个retrofit2.adapter.rxjava.HttpException: HTTP 400错误。经过查阅资料发现400 请求出错
  
由于语法格式有误,服务器无法理解此请求。不作修改,客户程序就无法重复此请求。但是我把请求的完整参数发到postman中请求发现没有问题。正在觉得怪异的时候,请求参数中|这个特殊字符串引起了我的注意。

通过在OKhttp 拦截器中打印出本次请求路径发现,所有的参数都是被编码了,但是|这个特殊字符却没有编码。

如下图:

通过对路径参数也就是包含 | 特殊字符的参数进行编码过后问题就解决了。

猜你喜欢

转载自blog.csdn.net/donkor_/article/details/80527305