java—在改型接口中定义“基本url”

vbopmzt1  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(307)

我使用reformation为rest服务创建了一个java库(https://square.github.io/retrofit/).
我有这样一个界面:

  1. public interface OrganizationUnitsApi {
  2. @GET("organizationUnits")
  3. Call<List<OrganizationUnit>> getOrganizationUnits();
  4. @GET("organizationUnits/{organizationUnitId}")
  5. Call<OrganizationUnit> getOrganizationUnit(@Path("organizationUnitId") String organizationUnitId);
  6. }

如您所见,这两次我都解析到端点“organizationunits”,因此最后我的请求将被发送到https://myservice.com/organizationunits..."
在改型中是否有可能为这个接口“注解”一个基本url?也许是这样的?

  1. @Path("organizationUnits")
  2. public interface OrganizationUnitsApi {
  3. @GET("/")
  4. Call<List<OrganizationUnit>> getOrganizationUnits();
  5. @GET("{organizationUnitId}")
  6. Call<OrganizationUnit> getOrganizationUnit(@Path("organizationUnitId") String organizationUnitId);
  7. }
qpgpyjmq

qpgpyjmq1#

在目前的改造中,没有类似于您正试图做的那样的api。但是,如果您必须这样做,您可以通过 organizationUnits 作为baseurl的一部分,同时生成RetroFit对象。
所以现在你在做这样的事情

  1. Retrofit.Builder().baseUrl(someUrl)

你可以做如下的事情

  1. Retrofit.Builder().baseUrl(someUrl/organizationUnitId)

但是在这种情况下,如果您对多个api接口使用相同的基本url,那么您将不得不另外麻烦地分别配置它们。

相关问题