2017-09-23 31 views
1

是否有可能建立一个翻新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是在一个界面中构建的,我不知道我是否可以完成。

+0

你可以动态操作URL。看到我的答案。 –

回答

0

这是不可能的。 Retrofit使用动态代理并需要一个接口。

+0

这只是出于好奇。所以,我想最好的选择是使用一个常量文件,其中所有的值最初定义为 –

+0

什么?它使用动态代理,而不是注释处理 - 无论哪种方式,都需要一个“接口”来完成这项工作。 – EpicPandaForce

+0

@EpicPandaForce好的,对不起。我更新了回复。 –

相关问题