Retrofit2请求路径未按预期工作

时间:2016-08-17 07:03:23

标签: retrofit2

我有这个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前缀。

2 个答案:

答案 0 :(得分:1)

尝试删除&#34; /&#34;来自您的GET注释:@GET("samples/{sampleId}")

答案 1 :(得分:1)

Retrofit 2.0带有新的URL解析概念。基本URL和@Url不仅仅是简单地组合在一起,而是以与HTML 中的 ahref相反的方式解决

看一下图片

  • 基本网址:始终以/

  • 结尾
  • @Url :请勿以/

  • 开头

了解更多信息refer this blog