2016-05-31 6 views
0

私のプロジェクトでは、Apache HTTPクライアントをレトロフィットに置き換える予定です。 私が直面している問題は、実行時にリクエストするHTTPメソッドの設定をサポートしていない(見つけられませんでした)ことです。 Webサービスでは、事前にどのようなHTTPメソッドを呼び出すべきかわからないので、注釈@GET、@POST、...は役に立たない。動的HTTPメソッドの改訂

+2

どのように4つのメソッドを作成するかgetDynUrl、postDynUrl、putDynUrl、deleteDynUrl –

+1

より柔軟な設定の場合は、RestClientではなくHttpClientを使用する必要があります。 –

+0

ありがとうございます。 リクエストするメソッド(GET、POST、DELETE ..)を指定したいと思います。私は事前に「方法」を知らない。 –

答えて

3

Retrofitは動的URL要求用に設計されていません。 APIベースURLを使用してレトロフィットを設定した後、特定のリクエストを行います。

より柔軟な動的オプションを使用する場合は、OkHttpを使用してください。 Retrofitで使用されているHTTPクライアントで、簡単に操作できます。

+0

私は質問が、動的リクエストのためのメソッドの指定についてであり、リクエストの実行に関するものではないと思います。 – Egor

+1

Retrofitは動的リクエスト用に設計されていないため、私はclerifyの回答を更新します。 – cyroxis

+0

OkHttpは良い選択ですが、私はAsyncTasksの使用を避けたいと思います。 –

1

新しい@url注釈付き動的URL要求のためのレトロフィット2を使用することができます。

public interface CarService { 
    @GET 
    public Call<ImageResponse> getPicture(@Url String url); 
} 

それからちょうどまた、あなたがどこかの選択をしなければならないとしている@PUTなど、@POSTを作成します。