retrofit 请求,BaseURL部分缺失,踩坑
昨天在使用retrofit2+OKhttp3进行网络请求时,碰到了一个坑爹问题。
部分接口请求时,baseURL中的部分字段缺失。
话不多说,直接上图。
先看baseURL
设置拦截器,在拦截其中查看请求的URL
请求两个URL,一个正常的,一个会缺失的。
这个是正常的。
这个是有问题的。
可以明显的看到,有问题的接口URL中,缺少了“/api/v1/”这段。
下面我们来看下这个两个接口定义时的样子。
问题原因:仔细观察!!!仔细观察!!!,文字就在于,注解的时候()里面的URL有没有‘/’这个斜杠符号开头。正常情况下,前面是不需要用‘/’开头的,因为再baseURL中已经以‘/’结尾了。所以就造成了URL部分缺失的问题。
这里再说一下使用retrofit拼接URL时的几个规则。
参考链接:http://bbs.youkuaiyun.com/topics/392056571?list=lz