retrofit 请求,BaseURL部分缺失,踩坑

昨天在使用retrofit2+OKhttp3进行网络请求时,碰到了一个坑爹问题。

部分接口请求时,baseURL中的部分字段缺失。
话不多说,直接上图。
先看baseURL
retrofit 请求,BaseURL部分缺失,踩坑
设置拦截器,在拦截其中查看请求的URL
retrofit 请求,BaseURL部分缺失,踩坑
请求两个URL,一个正常的,一个会缺失的。
这个是正常的。
retrofit 请求,BaseURL部分缺失,踩坑
这个是有问题的。
retrofit 请求,BaseURL部分缺失,踩坑
可以明显的看到,有问题的接口URL中,缺少了“/api/v1/”这段。
下面我们来看下这个两个接口定义时的样子。
retrofit 请求,BaseURL部分缺失,踩坑
retrofit 请求,BaseURL部分缺失,踩坑

问题原因:仔细观察!!!仔细观察!!!,文字就在于,注解的时候()里面的URL有没有‘/’这个斜杠符号开头。正常情况下,前面是不需要用‘/’开头的,因为再baseURL中已经以‘/’结尾了。所以就造成了URL部分缺失的问题。

这里再说一下使用retrofit拼接URL时的几个规则。

retrofit 请求,BaseURL部分缺失,踩坑
参考链接:http://bbs.csdn.net/topics/392056571?list=lz

最后解决:把注解部分以‘/’开头的‘/’符号去掉。bingo

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-04-03
  • 2021-06-24
  • 2022-12-23
  • 2021-11-07
  • 2022-12-23
  • 2022-01-11
猜你喜欢
  • 2021-06-17
  • 2021-08-08
  • 2021-04-22
  • 2021-05-21
  • 2022-12-23
  • 2022-12-23
  • 2021-09-01
相关资源
相似解决方案