赞
踩
http的请求体body的几种数据格式:multipart/form-data;application/x-www-from-urlencoded;raw;binary
key - value 格式,主要用来上传文件,它会将表单的数据处理成一条消息,以标签为单元,用分隔符分开。当上传的字段是文件时,会有Content-Type来说明文件类型;content-disposition,用来说明字段的一些信息。
PS:使用时后端代码不能有@RequestBody,否则会出错
key-value 格式,比如 name=java&age=23
但不支持文件传输,与 form-data 区别在于http请求body格式不太一样,另外就是不可以设置content-type,而 form-data 是可以设置每个value的 content-type
PS:使用时后端代码不能有@RequestBody,否则会出错
选择text,则请求头是: text/plain
选择javascript,则请求头是: application/javascript
选择json,则请求头是: application/json (如果想以json格式传参,就用raw+json就行了)
选择html,则请求头是: text/html
选择application/xml,则请求头是: application/xml
以常用的json为例:
tip:想要格式变好看就点美化(Beautify)
PS:使用时后端代码必须有@RequestBody,否则会出错
相当于 Content-Type:application/octet-stream ,从字面意思得知,只可以上传二进制数据,通常用来上传文件,由于没有键值,所以,一次只能上传一个文件。(一般用的不多)
multipart/form-data 与 x-www-form-urlencoded 区别
用form-data与x-www-from-urlencoded都可以,直接表单填写key-value,字段名一致即可
- @PostMapping(value = "/string")
- public String postman(String name, Integer age){
- String result = name + age;
- return result;
- }
选择用json格式
单一一个List
- @PostMapping(value = "/list")
- public String postman2(@RequestBody List<Integer> list){
- String result = list.toString();
- return result;
- }
另外,选择了json后端就只能对应一个@RequestBody,也即是只能接收一个对象,当然这一个对象中可以包含多个子对象,所以不要想着如何同时传两个json对象过去。如果真的需要同时传两个单独对象,后端要使用@RequestPart,具体可看Postman同时用post发送多个对象+文件到Controller的实现方法
使用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;
- }
- }
get请求
post请求
postman中 form-data、x-www-form-urlencoded、raw、binary的区别_wangjun5159的博客-CSDN博客
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。