Retrofit 常用参数使用方式和Url处理注解汇总(一)
2016-10-31 10:31
453 查看
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);
常用的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
- java使用HttpURLConnection检索网站时403错误处理方式
- android客户端通过Get方式提交参数给服务器,使用URL和HttpURLConnection实现,以及乱码问题解决
- @Param 注解在Mybatis中的使用 以及传递参数的三种方式
- 以前一直用的别人的分页控件今天自己写了个方便自己(更新)使用正则表达式处理URL参数
- JAVA 中URL中文参数乱码的处理方法(汇总)
- @Param 注解在Mybatis中的使用 以及传递参数的三种方式
- js使用post 方式打开新窗口,隐藏Url参数
- 存储过程使用 in 添加多个参数的情况处理方式【转】
- JAVA 中URL中文参数乱码的处理方法(汇总)
- java使用HttpURLConnection检索网站时403错误处理方式
- Django:URL-patterns的高级使用方式与URL传递参数
- android客户端通过Get方式提交参数给服务器,使用URL和HttpURLConnection实现,以及乱码问题解决
- java使用HttpURLConnection检索网站时403错误处理方式
- 使用HttpsUrlConnedtion连接https地址时异常处理 (方式二)
- 使用在控制器中的方法上添加注解的方式来对添加注解的方法执行前做一些预处理操作或者后处理操作
- @Param注解在mybatis中的使用以及传入参数的几种方式(转)
- 正则表达式的简单语法及常用正则表达式 举例使用jquery获取url指定参数