欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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) 在指定的位置不存在所申请的资源。

  1. Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETEURL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查 ,改 ,增 ,删 4个操作。常用的GET一般用于获取/查询 资源信息,而POST一般用于更新 资源信息 
  2. 一般用于获取/查询资源信息,请求的数据会附在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 
  3. 一般用于更新资源信息,把提交的数据放置在是HTTP包的包体中。 


相关标签: retrofit 2.0