Retrofit 常用参数使用方式和Url处理注解汇总(一)
2018-01-05 16:41
726 查看
原文地址:http://blog.csdn.net/fuhao476200/article/details/52980318
Retrofit
参数方式和Url处理注解汇总
请求方式
常用的Url路径处理注解
常见错误状态码
每个函数都必须带有 HTTP 注解来表明请求方式和请求的URL路径。类库中有5个HTTP注解: GET , POST , PUT , DELETE , 和 HEAD。
请求方式1:
- @GET2
- @POST3
- @DELETE
- @PUT
- @HEAD
2
3
4
5
6
7
8
9
当提交的请求服务器没有该资源或者提交参数有误时,会返回相应的错误状态码
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 参数方式和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路径处理注解
注解 | 局限 | 用途 | 示例 |
---|---|---|---|
@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) | 在指定的位置不存在所申请的资源。 |
资源信息 ↩
一般用于获取/查询资源信息,请求的数据会附在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 常用参数使用方式和Url处理注解汇总(一)
- Retrofit简单封装使用--Post请求封装请求体、Get请求通过参数、map方式构建url
- SpringBoot中常用注解@ PathVaribale / @ RequestParam / @ GetMapping介绍 本篇博文将介绍几种如何处理URL中的参数的注解@ PathVariba
- 模板方法和接口参数的联合使用 [ 同一请求,不同处理方式 ]
- 使用在控制器中的方法上添加注解的方式来对添加注解的方法执行前做一些预处理操作或者后处理操作
- SpringMvc (二) 通过URL限定:URL表达式/模拟请求方法/注解绑定方法参数/入参方式
- Java使用HttpURLConnection检索网站时403错误处理方式
- Django:URL-patterns的高级使用方式与URL传递参数
- Django:URL-patterns的高级使用方式与URL传递参数
- @Param注解在mybatis中的使用以及传入参数的几种方式(转)
- JAVA 中URL中文参数乱码的处理方法(汇总)
- Spring使用注解方式对url进行拦截
- JAVA 中URL中文参数乱码的处理方法(汇总)
- 正则表达式的简单语法及常用正则表达式 举例使用jquery获取url指定参数
- 正则表达式的简单语法及常用正则表达式 举例使用jquery获取url指定参数
- 安卓访问网络常用的3种方式(httpClient, httpUrlConnection,android-query ajax)及cookie处理
- 使用HttpsUrlConnedtion连接https地址时异常处理 (方式二)
- SpringMVC的controller方法中注解方式传List参数使用@RequestBody
- java使用HttpURLConnection检索网站时403错误处理方式
- android客户端通过Get方式提交参数给服务器,使用URL和HttpURLConnection实现,以及乱码问题解决