2017-09-23 2 views
1

assetsフォルダにあるpropertyファイルから、パス、フィールド、およびその値を取得する改造APIを構築できますか?例:プロパティファイルから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:改造APIがクラスだったと私は読むことをできる成分を注入することができれば、私は、また私はDIコンテナとしてDagger2を使用しています、プロパティファイルを読み込み、その値を取る方法を知らその中のプロパティファイルは完璧ですが、Retrofit APIはインターフェイスに組み込まれているので、私が望むものが達成できるかどうかはわかりません。

+0

URLを動的に操作できます。私の答えを見てください。 –

答えて

0

これはできません。 Retrofitは動的プロキシを使用し、インターフェイスが必要です。

+0

それはちょうど好奇心の外だった。だから、私は最高のオプションは、すべての値が最初に定義されている定数ファイルを使用すると思います –

+0

何?アノテーション処理ではなく、動的プロキシを使用します。いずれにしても、その作業を行うためには 'interface'が必要です。 – EpicPandaForce

+0

@EpicPandaForce大丈夫、申し訳ありません。私はレスポンスを更新しました。 –

関連する問題