您的位置:首页 > 其它

Retrofit 常用参数使用方式和Url处理注解汇总(一)

2018-01-05 16:41 726 查看
原文地址:http://blog.csdn.net/fuhao476200/article/details/52980318


Retrofit 参数方式和Url处理注解汇总

Retrofit
参数方式和Url处理注解汇总
请求方式
常用的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路径处理注解

注解局限用途示例
@PathGET用于替换Url路径中的变量字符@GET(“/unableape/url/{name}/get”) 

Call getUnableApeName(@Header(“Authorization”) String authorization,@Path(“name”) String name );
@QueryGET用于拼接在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);
@QueryMapGET效果等同于多个@Query 参数为Map类型@GET(“/unableape/url/get”)

Call getUnableApeOther(@QueryMap Map String, String> options);
@BodyPOST可以指定一个对象作为HTTP请求体@Body@POST(“/unableape/post”)

Call createUser(@Body Name name);
@FormUrlEncoded/@FieldPOST@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包的包体中。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  retrofit 2.0
相关文章推荐