Retrofit請求引數註解欄位說明
@Query、@QueryMap
用於Http Get請求傳遞引數.如:
@GET("group/users")
Call<List<User>> groupList(@Query("id") int groupId);
等同於:
@GET("group/users?id=groupId")
即將@Query
的key-value
新增到url後面組成get方式的引數,@QueryMap
同理
@Field
用於Post方式傳遞引數,需要在請求介面方法上新增@FormUrlEncoded
,即以表單的方式傳遞引數.示例:
@FormUrlEncoded
@POST("user/edit")
Call<User> updateUser(@Field("first_name") String first, @Field("last_name") String last);
@Body
用於Post,根據轉換方式將例項物件轉化為對應字串傳遞引數.比如Retrofit新增GsonConverterFactory
則是將body轉化為gson字串進行傳遞.
converter有如下:
Gson: com.squareup.retrofit2:converter-gson
Jackson: com.squareup.retrofit2:converter-jackson
Moshi: com.squareup.retrofit2:converter-moshi
Protobuf: com.squareup.retrofit2:converter-protobuf
Wire: com.squareup.retrofit2:converter-wire
Simple XML: com.squareup.retrofit2:converter-simplexml
@Path
用於URL上佔位符.如:
@GET("group/{id}/users")
Call<List<User>> groupList(@Path("id") int groupId);
將groupId變數的值替換到url上的id位置
@Part
配合@Multipart
使用,一般用於檔案上傳,看官方文件示例:
@Multipart
@PUT("user/photo")
Call<User> updateUser(@Part("photo") RequestBody photo, @Part("description") RequestBody description);
@Header
新增http header
@GET("user")
Call<User> getUser(@Header("Authorization") String authorization)
等同於:
@Headers("Authorization: authorization")//這裡authorization就是上面方法裡傳進來變數的值
@GET("widget/list")
Call<User> getUser()
@Headers
跟@Header
作用一樣,只是使用方式不一樣,@Header
是作為請求方法的引數傳入,@Headers
是以固定方式直接新增到請求方法上.示例:
@Headers("Cache-Control: max-age=640000")
@GET("widget/list")
Call<List<Widget>> widgetList();
多個設定:
@Headers({
"Accept: application/vnd.github.v3.full+json",
"User-Agent: Retrofit-Sample-App"
})
@GET("widget/list")
Call<List<Widget>> widgetList();
相關文章
- 輕鬆搞定Retrofit不同網路請求方式的請求引數配置,Retrofit常用註解的使用
- 輕鬆搞定Retrofit不同網路請求方式的請求引數配置,及常用註解使用
- SQLServer SYSPROCESSES表欄位解說明SQLServer
- Retrofit 動態引數(非固定引數、非必須引數)(Get、Post請求)
- http請求頭個欄位解釋HTTP
- Retrofit統一新增post請求的預設引數
- 請求首部欄位詳解-四大首部欄位之一
- MySQL 5.7 自增欄位相關引數說明MySql
- WebApi 中請求的 JSON 資料欄位作為 POST 引數傳入WebAPIJSON
- TOP引數說明
- mysqldump引數說明MySql
- mysqldump 引數說明MySql
- MySQL引數說明MySql
- 有趣的請求引數/請求頭
- SpringMVC學習(三)對映請求引數&請求引數SpringMVC
- PhpCms自定義欄位的使用說明PHP
- 資料庫欄位簡寫說明資料庫
- MySQL配置檔案my.ini引數註釋說明MySql
- Elasticsearch 引數配置說明Elasticsearch
- kafka 引數配置說明Kafka
- redis 3.0 引數說明Redis
- golden gate 引數說明Go
- oracle引數說明(zt)Oracle
- HTTP請求頭中的refer欄位HTTP
- Oracle Table建立引數說明Oracle
- Oracle Table 建立引數 說明Oracle
- mysqldump引數詳細說明MySql
- mosquitto命令引數說明UI
- Oracle Sequence Cache 引數說明Oracle
- 【MYSQL】MHA引數列表說明MySql
- Mysql JDBC Url引數說明MySqlJDBC
- Django 常用欄位和引數Django
- 請求引數的傳遞
- SpringMVC請求引數解析SpringMVC
- fastapi 請求引數 校驗ASTAPI
- Charles 修改請求(Request)引數
- 原始碼分析Retrofit請求流程原始碼
- RxJava + Retrofit完成網路請求RxJava