Retrofit——API声明
来源:互联网 发布:linux string 编辑:程序博客网 时间:2024/06/18 17:17
今天讲Retrofit的API声明,我们已经知道,Retrofit主要是用注解方式去表征网络请求的各种参数类型的。今天,我们要具体看下,Retrofit是如何实现Path修改、GET、POST、请求体、Header等网络请求的。
在上一节的那个接口抽象方法中,注解表征了一个请求将被如何处理。
请求方法
每个抽象方法必须有一个HTTP注解,提供请求方法和相对URL路径。有五种自带的注解,GET、POST、PUT、DELETE、HEAD。相对url路径资源在注解中指定,如下:
@GET("users/list")你也可以在url中指定查询参数,如下:
@GET("users/list?sort=desc")
一个请求url能动态更新,通过在抽象方法中使用占位块(replacement blocks)和参数。一个占位块是一个被“{}”包围着的字母和数字的字符串,一个对应的参数必须用“@Path”作为注解,注解后的括号里的字符和url路径的“{}”中的要保持一致。如下:
@GET("group/{id}/users")Call<List<User>> groupList(@Path("id") int groupId);
查询参数也可以增加,如下:
@GET("group/{id}/users")Call<List<User>> groupList(@Path("id") int groupId, @Query("sort") String sort);一个复杂的查询参数集合,可以使用Map,如下:
@GET("group/{id}/users")Call<List<User>> groupList(@Path("id") int groupId, @QueryMap Map<String, String> options);
请求体
使用@Body注解,你可以指定一个对象作为一个HTTP请求体,如下:
@POST("users/new")Call<User> createUser(@Body User user);这个对象也将转换为请求参数,使用一个在Retrofit实例中指定的converter。如果没有添加converter,就只能使用RequestBody了。
今天先讲到这里,每天接着讲这一节。
阅读全文
0 0
- Retrofit——API声明
- Retrofit——API声明 2
- Retrofit——API配置
- Retrofit的API接口声明准则
- api声明
- Retrofit——Cookie
- Retrofit——Cache
- Retrofit——简介
- Retrofit——下载
- MalformedJsonException with Retrofit API?
- 使用Retrofit请求API
- Retrofit api 翻译
- Retrofit API 中文
- API调用的福音——P/Invoke自动生成API声明
- Retrofit遇到Restful API怎么办
- API函数声明
- API的函数声明
- 怎样手工声明API
- Java经典算法40例(二十七)
- 集体智慧编程学习笔记(1)——机器学习定义
- bzoj 2705: [SDOI2012]Longge的问题(欧拉函数)
- 循环问题
- 3、关于匿名内部类一个小题目(补全代码)
- Retrofit——API声明
- swift3.0 文件操作
- 数组
- Hdu 1024 Max Sum Plus Plus(基础DP)
- 学习定时器
- latex输入公式排版
- Java经典算法40例(二十八)
- 猴子选大王
- 关于Android"通知"的一些用法