retrofit2 - 在 Retrofit 2 中动态设置 URL 路径
问题描述
我们有一个使用 Retrofit 2 库的服务发现 API。消费应用程序中的一个示例使用是
mEurekaDiscoveryApi.getAvailableServices(Constants.SERVICE_ID).enqueue(// ...)
但是,我的团队负责人今天来找我说我应该SERVICE_ID
进入客户端的构造函数,更改签名以便调用方法变为
mEurekaDiscoveryApi.getAvailableServices().enqueue(// ...)
我一直在玩 API,但还没有设法让它工作。
当前的
@GET("/eureka/apps/{appID}")
Call<ApplicationWrapper> getAvailableServices(@Path("appID") String appID);
实验性的
@GET(String.format("/eureka/apps/{appID}", getUrl()))
Call<ApplicationWrapper> getAvailableServices();
String getUrl();
问题是我得到一个编译时错误,说"Attribute value must be constant"。
目标是在getAvailableServices()
没有参数的情况下调用。有没有办法解决?还是我试图做的事情是不可能的?
解决方案
推荐阅读
- python - 模块有问题
- flutter - 单击编辑按钮容器展开并显示选项
- algorithm - 如何订购一组任务,其中每个任务都有起始成本和奖励
- ios - Xcode 分析器中与时间分析器相关的错误:仪器
- node.js - ffmpeg-concat 创建了近 80GB 的原始文件来合并 3 个视频,500 毫秒的淡入淡出,总大小约为 42MB。如何减少存储需求?
- react-native - iOS 中的 react-native-bluetooth-escpos-printer printPic 错误:图像模糊
- php - 发送信封:返回 301 响应码
- flutter - 当我在 inistate 中调用提供程序时,返回数据为 null
- python - 根据第一个元素的状态清除一行
- android - 有人知道如何在 android studio 4.2.2 上运行 gradle 3.2.1 吗?