此篇讲解是postman中body类别做下区别,针对Retrofit注解的。
1、none:没有body
就是没有请求体body,在拦截器中处理的时候,是取不出来数据的
2、form-data: 多种类型表单
-
在http请求中的multipart/form-data
它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开 -
对应注解@Multipart
当写@Multipart注解时,就必须写@Part注解,否则程序会崩溃 -
既可以上传键值对,也可以上传文件以及多个文件,最后会转化为一条信息;
由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对,它采用了键值对的方式,所以可以上传多个文件。 - 当上传的字段是文件时,会有Content-Type来表名文件类型;content-disposition,用来说明字段的一些信息;
3、x-www-form-urlencoded:多个表单
- 在http请求中的application/x-www-from-urlencoded
- 对应注解@FormUrlEncoded 与@Field想配合使用
- 会将表单内的数据转换为键值对,只能上传键值对,并且键值对都是间隔分开的。
比如,name=java&age = 23
3、raw原数据格式
- 在http中application/text,application/json
- 对应注解 @Body RequestBody requestBody
我经常使用json,使用Gson封装bean,最后填充到body中 - 可以上传任意格式的文本,可以上传text、json、xml、html等
4、binary二进制格式
- 在http中Content-Type:application/octet-stream
- 只可以上传二进制数据,通常用来上传文件,由于没有键值,所以,一次只能上传一个文件。
参考:
(转)postman中 form-data、x-www-form-urlencoded、raw、binary的区别 https://www.cnblogs.com/liunanjava/p/5710376.html
Postman 基本操作学习 https://www.cnblogs.com/miniren/p/5601118.html
Postman使用详解 https://www.cnblogs.com/yunman/p/7884537.html