Retrofit 请求参数类型
来源:互联网 发布:淘宝手机上购物支付 编辑:程序博客网 时间:2024/06/05 08:16
Retrofit 请求网络时,使用的okhttp框架,所以除了Retrofit api 通过注解的方式添加参数类型外,最后都是进入到 了okhttp来处理。
四大类型:红色部分为添加部分
http://163.223.67.88/car/getUser/2
http://163.223.67.88/car/getUser/2?name="malei"&sex="man"
http://163.223.67.88/car/getUser/
json请求体: {"name":"malei","sex":"man"}
http://163.223.67.88/car/getUser/
表单请求体: name = malei & sex=man
在处理retrofit的api接口时,retrofit有几种请求体,如下:
post部分:
当我们要进行网络通信的时候,要不处理url,要么处理请求体,比如一个url我们需要动态的添加参数,
就可以通过通过@path 我们可以补全url
例如: @path("id") int id; ----- > http://123.23.23.2/api/malei/ {id}
当我们需要给url添加参数时,可以通过@query
例如: @path("id") int id,@Query("name") String name ----- > http://123.23.23.2/api/malei/ {id}?name={name}
如果url?后面添加的不止一个参数的话,我们可以使用@QueryMap:相当于多个@Query
接下来我们在给请求添加一个json请求体,可以通过@Body
@path("id") int id,@Query("name") String name, @Body Bean bean
通过@Body 可以添加多个参数,如果只传一个参数的话,可以使用@Field
使用@Field时记得添加@FormUrlEncoded
这里重点说下,通过@Body 添加的请求体,我们是没有办法在网络拦截的时候获取到请求体的。
除了通过@Body 添加json格式的请求参数外,还可以使用@FieldMap来传递参数,如下:
@FieldMap Map<String,String> map ------> name = malei & sex=gender
如果你想要传递的参数不多的话,就可以使用@Field,如下:
@Field("name") String name,@Field("sex") String sex ------> name = malei & sex=gender
注意:使用@FieldMap和@Field的时候一定要添加@FormUrlEncoded
总结
@Path:所有在网址中的参数(URL的问号前面),如:http://102.10.10.132/api/Accounts/{accountId}@Query:URL问号后面的参数,如:http://102.10.10.132/api/Comments?access_token={access_token}@QueryMap:相当于多个@Query@Field:用于POST请求,提交单个数据@Body:相当于多个@Field,以对象的形式提交 ,提交json
@FieldMap : map类型数据 ,添加非json
- Retrofit 请求参数类型
- Retrofit 2.0 GET 请求参数出现错误
- Retrofit初探——请求参数
- Retrofit请求参数注解字段说明
- RetroFit请求参数和返回格式说明
- retrofit网络请求参数为json
- Retrofit 网络请求参数解读(一)
- Retrofit请求参数注解字段说明
- Retrofit请求参数注解字段说明
- android retrofit 获取post请求参数值
- 安卓Retrofit post请求 带参数
- Android网络请求使用Retrofit+OkHttp,如何获取请求参数 ?
- Rxjava+retrofit 添加公共请求参数及请求结果封装
- retrofit请求
- Retrofit 请求
- 类型安全的网络请求框架retrofit---1
- Android网络请求使用Retrofit+OKHTTP,如何实现参数加密
- rxjava retrofit 返回网络结果时取请求参数
- 怎么查看是否一个插入的usb3.0 U盘启用了UASP功能。
- jquery实现复选框全选和全不选
- PL SQL 怎么比较2个数据库的差异
- SpringMVC 之 @RequestMapping
- Linux(RaspberryPi)上使用BLE低功耗蓝牙
- Retrofit 请求参数类型
- Hyperledger Fabric 1.0 链码(chaincode)的原理、接口和结构
- BZOJ1202 [HNOI2005]狡猾的商人 【并查集】
- Vue + webpack 项目实践
- 关于路虎中汽油发动机DS2协议的理解
- [Leetcode从零开刷]292.Nim Game
- SSL_1125 合集
- 查看应用SHA1值
- Git详细介绍和常用命令