Postman中几个body请求格式区别及使用说明

Posted 有时候我也会

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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格式不太一样

注意:使用时后端代码不能有@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,只可以上传二进制数据,通常用来上传文件,由于没有键值,所以,一次只能上传一个文件

三、使用选择

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对象过去,,,,实际情况遇到再解决吧。
看到一篇是这样传两个对象的:json里放一个,在Headers里key-val中放另外一个,val是第二个对象的json串,然后后端通过httprequest来拿到第二个对象,,,
https://blog.csdn.net/mdw0730/article/details/109287272

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;
    }
}

以上是关于Postman中几个body请求格式区别及使用说明的主要内容,如果未能解决你的问题,请参考以下文章

Postman 测试接口(json)传递参数

多个 API QUERY_STRING、POST 请求的区别以及它们与 Postman 的使用

与postman的第一次亲密接触

postman get请求和post请求区别

第六篇 native 版本的Postman如何通过代理服务器录制Web及手机APP请求

Postman中post 请求body的四种类型