我有这个Retrofit2服务定义:
@GET("/samples/{sampleId}")
Observable<Sample> getSampleById(@Path("sampleId") String sampleId);
,基本网址为http://xxx.xxx.xxx.xxx:8080/sampledb/
。我不工作。我得到了404
但是,如果我将此作为基本网址使用:http://xxx.xxx.xxx.xxx:8080/
,我会以这种方式定义服务:
@GET("/sampledb/samples/{sampleId}")
它运作正常。为什么?我不想在每个请求定义中添加sampledb
前缀。
答案 0 :(得分:1)
尝试删除&#34; /&#34;来自您的GET注释:@GET("samples/{sampleId}")
答案 1 :(得分:1)
Retrofit 2.0带有新的URL解析概念。基本URL和@Url不仅仅是简单地组合在一起,而是以与HTML 中的 ahref相反的方式解决
基本网址:始终以/
@Url :请勿以/
了解更多信息refer this blog