Postman中几个body请求格式区别及使用说明
参阅:https://blog.csdn.net/qq_41063141/article/details/101505956,在此基础上添加代码使用说明
一、Params与Body
二者区别在于请求参数在http协议中位置不一样。
Params 它会将参数放入url中以?区分以&拼接
Body则是将请求参数放在请求体中
二、body中不同格式
2.1 multipart/form-data
key - value 格式输入,主要特点是可以上传文件
注意:使用时后端代码不能有@RequestBody,否则会出错
2.2 application/x-www-from-urlencoded
同样是key - value 格式输入,但不支持文件传输,与form-data区别在于http请求body格式不太一样,另外就是不可以设置content -type,而form-data是可以设置每个value的content -type
注意:使用时后端代码不能有@RequestBody,否则会出错
2.3 raw
选择text,则请求头是: text/plain
选择javascript,则请求头是: application/javascript
选择json,则请求头是: application/json (如果想以json格式传参,就用raw+json就行了)
选择html,则请求头是: text/html
选择application/xml,则请求头是: application/xml
以常用的json为例:
注意:使用时后端代码必须有@RequestBody,否则会报错。
@Data
public class Child {private String name;private Integer age;private List<Integer> list;
}
@RequestMapping("/postman")
@RestController
public class PostmanParam {@PostMapping(value = "/listInObj")public String postman1(@RequestBody Child child){String result = child.getName() + child.getAge() + child.getList().toString();return result;}@PostMapping(value = "/bodystring")public String postman(Child obj){return obj.toString();}
}
2.4 binary
相当于Content-Type:application/octet-stream,只可以上传二进制数据,通常用来上传文件,由于没有键值,所以,一次只能上传一个文件
三、使用选择
最常用的还是json和form-data,form-data主要用于文件操作,以及文件+对象的时候使用
3.1 简单类型参数
form-data与x-www-from-urlencoded都可以,直接表单填写key-value,字段名一致即可
@PostMapping(value = "/string")public String postman(String name, Integer age){String result = name + age;return result;}
3.2 复杂类型请选择json格式
单一一个List
@PostMapping(value = "/list")public String postman2(@RequestBody List<Integer> list){String result = list.toString();return result;}
另外,选择了json后端就只能对应一个@RequestBody,也即是只能接收一个对象,当然这一个对象中可以包含多个子对象,,,
所以不要想着如何同时传两个json对象过去,,,,
另外如果真的需要同时传两个单独对象,后端请使用@RequestPart,具体操作见页末
3.3 文件上传
使用org.springframework.web.multipart.MultipartFile接收文件
@RestController
@RequestMapping("/file")
public class AController {@PostMapping("/upload")public String uploadfile(MultipartFile multipartFile,String data) throws IOException {String s = multipartFile.getOriginalFilename() + data;return s;}
}
注意KEY需要与java方法中参数名一致,否则接收不到
3.4 多对象及文件+对象同时传递
戳这里
Postman中几个body请求格式区别及使用说明相关推荐
- jeesite如何已生成数据的数据源_如何在postman中自动生成接口请求数据,这个功能你需要知道,可结合浏览器和两大抓包工具使用...
在做接口调试或测试时,请求中的每个参数都要按照接口文档填写到postman的对应位置中,很是麻烦.那是否有这样一个功能?可以帮我们自动生成接口数据,无需修改,直接发送请求就可以呢. 这里面我们需要借助 ...
- Http中的Post和GET请求的区别
原理区别: 一般我们在浏览器输入一个网址访问网站都是GET请求,获取Html文件到浏览器运行. GET - (获取数据)从指定的服务器中获取数据Get,是向服务器发索取数据的一种请求,Get是获取信息 ...
- 【转】Postman系列三:Postman中post接口实战(上传文件、json请求)
一:接口测试过程中GET请求与POST请求的主要区别 从开发角度我们看get与post的主要区别是: 1.Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据: 2.Get安全性比Pos ...
- 客户端(前端)Ajax中Get请求和Post请求的区别
我们在使用Ajax时,当我们向服务器发送数据时,我们可以采用Get方式请求服务器,也可以使用Post方式请求服务器.那么,Get请求和Post请求的区别到底在哪呢? GET请求 get是最常见的请 ...
- Postman中请求体提交方式
Postman中请求体提交方式 x-www-form-urlencoded form-data raw binary x-www-form-urlencoded x-www-form-urlencod ...
- JSP中的重定向和请求转发以及它们的区别
我们先硬着头皮看一下重定向的定义: 重定向(Redirect): 客户端浏览器向Web应用服务器端发送一个请求,Web服务器端使用HttpServletResponse的sendRedirect()方 ...
- (POST请求中的三种数据请求格式.application/x-www-form-urlencoded和multipart/form-data和application/json)
(POST请求中的三种数据请求格式.application/x-www-form-urlencoded和multipart/form-data和application/json) applicatio ...
- 表单提交中Get和Post方式的区别及EncType表明提交数据的格式详解
表单提交中Get和Post方式的区别 1. get是从服务器上获取数据,post是向服务器传送数据. 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对 ...
- JSP中get和post请求方式的区别及乱码解决方法
JSP中get和post请求方式的区别及乱码解决方法 get提交方式:默认method="get" 和 地址栏.超链接请求方式默认都属于get提交方式 form表单的method属 ...
最新文章
- 在Android中进行单元测试遇到的问题
- 阿里员工吐槽:后悔接这侮辱性的offer
- VB中DateDiff 函数解释
- maven2创建或者导入eclipse工程 设置M2_REPO消除错误
- 不编程,拖拖鼠标图表自己动起来!来自图形学大牛陈宝权弟子,已获ACM CHI最佳论文荣誉提名...
- noip模拟赛 fateice-string
- 图像分类算法_图像分类算法优化技巧:Bag of Tricks for Image Classification
- Light OJ 1007
- bluecam连接步骤说明_厂家详解旋片式真空泵使用说明
- 磁盘与目录的容量(转)
- python 如何在一个for循环中遍历两个列表
- django 1.8 官方文档翻译: 2-3-1 模型实例参考
- php编译安装swoole模块
- Java项目部署到云服务器最简单的方法
- (第八天)记忆系统训练软件3.0
- ApacheCN 数据科学译文集 20211109 更新
- Java使用aspose合并两个PDF文件
- JWT的数据格式详解
- 教你如何用python制作平面直角坐标系模拟器 python项目小发明 【安安教具】-【数学】-【平面直角坐标系】模拟器
- grid - gap