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

本文探讨了使用Retrofit2+OkHttp3时遇到的URL部分缺失问题。具体表现为部分接口请求时,baseURL中的一段字符串未被正确包含。通过对比正常与异常情况下的接口定义,发现了解决方案——调整接口URL前缀。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

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

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

这里写图片描述
参考链接:http://bbs.youkuaiyun.com/topics/392056571?list=lz

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

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值