Retrofit アノテーション

メソッドに付与できるアノテーション

アノテーション 引数 説明
@GET value(String) 引数にパスの設定や送信するパスパラムのパラメータのプレースホルダを{}で記述できます。
引数に@Urlが存在する場合は引数はオプション扱いになります。
@POST value(String) 引数にパスの設定や送信するパスパラムのパラメータのプレースホルダを{}で記述できます。
引数に@Urlが存在する場合は引数はオプション扱いになります。
@PUT value(String) 引数にパスの設定や送信するパスパラムのパラメータのプレースホルダを{}で記述できます。
引数に@Urlが存在する場合は引数はオプション扱いになります。
@DELETE value(String) 引数にパスの設定や送信するパスパラムのパラメータのプレースホルダを{}で記述できます。
引数に@Urlが存在する場合は引数はオプション扱いになります。
@Multipart なし マルチパートで送信する場合に付与します。
@POSTなどと併せてせっていします。
@Header value(String Array) HTTP Headerを設定できます。単一の場合はString型にします。複数ある場合は、文字列配列で付与します。

メソッドの引数に設定できるアノテーション

アノテーション 引数 説明
@Path value(String)
encoded(boolean)
{}で設定したプレースホルダに値を設定します。文字列には{}で指定した文字列を指定します。booleanには設定する値がエンコード済みかどうかを指定します。(デフォルトfalse)
@Query value(String)
encoded(boolean)
クエリパラメータのキーをStringで指定します。booleanには設定する値がエンコード済みかどうかを指定します。(デフォルトfalse)
@QueryMap Map
encoded(boolean)
クエリパラメータが複数存在する時に利用できます。クエリーパラメータをキーと値のMapで渡します。booleanには設定する値がエンコード済みかどうかを指定します。(デフォルトfalse)
@QueryName value(String) クエリーパラメータでキーのみを設定できます。
@Field value(String) HTTPリクエストメッセージボディに付与する値のキーをStringとして指定します。
@FieldMap Map
encoded(boolean)
HTTPリクエストメッセージボディに付与する値が複数存在する場合に利用できます。booleanには設定する値がエンコード済みかどうかを指定します。(デフォルトfalse)
@Part value(String)
encoding(String)
マルチパートで送信するデータのキーをStringで指定し、エンコードの方式もStringで指定します。(デフォルトbinary)
@PartMap Map
encoding(String)
マルチパートで送信するデータのキーをStringと値をMapで指定し、エンコードの方式もStringで指定します。(デフォルトbinary)
@Header value(String) HTTPヘッダーを設定できます。引数には設定するHeaderを指定します。
@HeaderMap Map<String, String> HTTPヘッダーを複数設定する時に使用します。キーには設定するHeader、値には設定するヘッダーの値を指定します。

JSONを文字列として取得するには、 RequestBodyResponseBodyOKHttpで提供されているクラスを利用します。詳細はこちらの記事を参照してください。

戻り値はCall型にして、実際にサーバから受け取るデータの型をジェネリクスで指定します。