Retrofit 常用参数使用方式和Url处理注解汇总(一)
程序员文章站
2022-06-06 08:40:29
...
原文地址:http://blog.csdn.net/fuhao476200/article/details/52980318
Retrofit 参数方式和Url处理注解汇总
请求方式
每个函数都必须带有 HTTP 注解来表明请求方式和请求的URL路径。类库中有5个HTTP注解: GET , POST , PUT , DELETE , 和 HEAD。
请求方式1:
- @GET2
- @POST3
- @DELETE
- @PUT
- @HEAD
@GET("/unableape/url/get")
//Call<UnableApeEntity> getUnableApeName(@Header("Authorization") String authorization, @Query("name") String name);
@POST("/unableape/url/post")
//Call<UnableApeEntity> postUnableApeName(@Header("Authorization") String authorization,@Body nameEntity);
@GET("/unableape/url/get?name="unableApeCSDN") //在Url路径中也可以添加Url参数
//Call<UnableApeEntity> getUnableApeName(@Header("Authorization") String authorization);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
常用的Url路径处理注解
注解 | 局限 | 用途 | 示例 |
---|---|---|---|
@Path | GET | 用于替换Url路径中的变量字符 |
@GET(“/unableape/url/{name}/get”) Call getUnableApeName(@Header(“Authorization”) String authorization,@Path(“name”) String name ); |
@Query | GET | 用于拼接在Url路径后的查询参数,但相对于直接在Url后拼接,@Query则是添加一个变量 |
@GET(“/unableape/url/get?name=”unableape”) Call getUnableApeName(@Header(“Authorization”) String authorization); 等同于 @GET(“/unableape/url/get) Call getUnableApeName(@Header(“Authorization”) String authorization,@Query(“name”) String name); |
@QueryMap | GET | 效果等同于多个@Query 参数为Map类型 |
@GET(“/unableape/url/get”) Call getUnableApeOther(@QueryMap Map String, String> options); |
@Body | POST | 可以指定一个对象作为HTTP请求体@Body |
@POST(“/unableape/post”) Call createUser(@Body Name name); |
@FormUrlEncoded/@Field | POST | @FormUrlEncoded修饰表单域,每个表单域子件key-value采用@Field修饰 |
@FormUrlEncoded @POST(“/user/edit”) Call updateUnableApeName(@Field(“first_name”) String first, @Field(“last_name”) String last); |
常见错误状态码
当提交的请求服务器没有该资源或者提交参数有误时,会返回相应的错误状态码
错误码 | 解释 |
---|---|
200 (OK) | 找到了该资源,并且一切正常。 |
304 (NOT MODIFIED) | 该资源在上次请求之后没有任何修改。这通常用于浏览器的缓存机制。 |
401 (UNAUTHORIZED) | 客户端无权访问该资源。这通常会使得浏览器要求用户输入用户名和密码,以登录到服务器。 |
403 (FORBIDDEN) | 客户端未能获得授权。这通常是在401之后输入了不正确的用户名或密码。 |
404 (NOT FOUND) | 在指定的位置不存在所申请的资源。 |
- Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETEURL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查 ,改 ,增 ,删 4个操作。常用的GET一般用于获取/查询 资源信息,而POST一般用于更新 资源信息 ↩
- 一般用于获取/查询资源信息,请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,多个参数用&连接;例如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0 %E5%A5%BD。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如: %E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII ↩
- 一般用于更新资源信息,把提交的数据放置在是HTTP包的包体中。
上一篇: TensorFlow2.0 (4) dataset 使用
下一篇: 安多县