如何从属性文件构建Retrofit API?
是否有可能建立一个翻新API,其中路径,字段及其值取自assets
文件夹内的property
文件?例如:如何从属性文件构建Retrofit API?
interface StatusAPI {
@FormUrlEncoded
@POST("api path")
fun readRawHtml(
@Field("arg1 key") arg1: String = "arg1 value",
@Field("arg2 key") arg2: String = "arg2 value",
@Field("arg3 key") arg3: String = getArg3Value(),
): Single<String>
private fun getArg3() = "arg3 value"
}
url.path = /path%20to%20api
form.key.arg1 = arg1key
form.value.arg1 = arg1value
form.key.arg2 = arg2key
form.value.arg2 = arg2value
form.key.arg3 = arg3key
form.value.arg3 = arg3value
PS:我知道如何读取属性文件,并利用其价值,还我使用Dagger2作为DI容器,如果改装API是一类,我可以注入一个组件能够阅读其中的属性文件将是完美的,但由于Retrofit API是在一个界面中构建的,我不知道我是否可以完成。
这是不可能的。 Retrofit使用动态代理并需要一个接口。
这只是出于好奇。所以,我想最好的选择是使用一个常量文件,其中所有的值最初定义为 –
什么?它使用动态代理,而不是注释处理 - 无论哪种方式,都需要一个“接口”来完成这项工作。 – EpicPandaForce
@EpicPandaForce好的,对不起。我更新了回复。 –
你可以动态操作URL。看到我的答案。 –