目录
3.4List<User>
在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,但当双方进度不一致,或者需要测试接口是否完成功能时,就需要借助接口测试工具
这里主要介绍的是使用Postman接口测试工具,POST请求进行接口测试。
1.认识postman
l 侧边栏: 包括搜索栏, Request 请求的历史记录和收藏夹管理。
l 功能区: Request 请求设置,查看 Response 响应结果和测试结果,可以将请求保存到收藏夹。
l 设置区:设置和管理环境变量和全局变量。
2.基础使用步骤
2.1 创建Collection集合
在刚开始一个项目时,为了后续便于组织和管理,把同属该项目的多个 API,放在一组里。所以要先去新建一个 Collection: New -> Collection
下面两种途径使用哪种都可以
2.2创建请求
2.3设置HTTP请求
设置 HTTP 的 Method 方法和输入 api 的地址以及请求参数或请求体
GET是请求方法,请求方法是HTTP请求的必要要素,常见的请求方法有GET和POST两种。
API地址一般为URL地址。如果是请求URL中的入参,会在Params列出参数名称及参数取值,方便我们轻松的修改各入参的值。如有需要,还应该设置HTTP请求Headers部分。
如果是POST请求,需要将请求方法设置为POST,一般说来POST请求是有请求体的,固需要在Body部分中编写正确的请求body内容和Content-Type的值(在Headers中进行设置)
点击send即可发送请求,在response区域可以看到响应结果
3.postman之raw的各种数据类型写法
目前常用的是 post--raw的参数传递方式,那么raw各种数据形式都怎么写呢?
注意:如果后台使用@RequestBody接受参数时适用,@RequestParam时不适用
3.1String
@PostMapping("name")
public void fdf(@RequestBody String name) {
System.out.println(name);
3.2对象
3.2.1 对象属性无List属性或属性是另一个对象的情况
@Data
public class User {
private String name;
private Integer age;}
@PostMapping("2")
public void fsdfdsf(@RequestBody User user) {
System.out.println(user.toString());
}
3.2.2对象属性存在List属性
@Data
public class User {
private String name;
private Integer age;
private List<Integer> intList;
private List<String> stringList;}
@PostMapping("2")
public void fsdfdsf(@RequestBody User user) {
System.out.println(user.toString());
System.out.println(user.getIntList());
}
3.2.3属性为一个对象时
@Data
public class User {
private String name;
private Integer age;
private List<Integer> intList;
private List<String> stringList;
private Address address;
}
@Data
public class Address {
private String addressName;
}
@PostMapping("3")
public void fsdsf(@RequestBody User user) {
System.out.println(user.getAddress().toString());
}
3.2.4属性为对象List时
@Data
public class User {
private String name;
private Integer age;
private List<Integer> intList;
private List<String> stringList;
private Address address;
private List<Address> addressList;
}
@Data
public class Address {
private String addressName;
}
@PostMapping("4")
public void fs4dsf(@RequestBody User user) {
System.out.println(user.getAddressList());
}
{
"name":"hello",
"age": 18,
"intList":[1,2,3,4,5,6],
"stringList":["a","b","c","d"],
"address":{
"addressName":"word"
},
"addressList":[{"addressName":"hello"},{"addressName":"word"},{"addressName":"my name is Liang"}]
}
3.3List
@PostMapping("5")
public void fs4d8sf(@RequestBody List<String> list) {
System.out.println(list);
}
["hello","word","my name is Liang"]
3.4List<User>
@Data
public class User {
private String name;
private Integer age;
private List<Integer> intList;
private List<String> stringList;
private Address address;
private List<Address> addressList;
}
@Data
public class Address {
private String addressName;
}
@PostMapping("6")
public void fs48d8sf(@RequestBody List<User> userList) {
System.out.println(userList);
}
[
{
"name":"hello",
"age": 18,
"intList":[1,2,3,4,5,6],
"stringList":["a","b","c","d"],
"address":{
"addressName":"word"
},
"addressList":[{"addressName":"hello"},{"addressName":"word"},{"addressName":"my name is Liang"}]
},
{
"name":"hello",
"age": 18,
"intList":[1,2,3,4,5,6],
"stringList":["a","b","c","d"],
"address":{
"addressName":"word"
},
"addressList":[{"addressName":"hello"},{"addressName":"word"},{"addressName":"my name is Liang"}]
}
]
3.5参数为一个对象,一个字符串, raw参数类型如何写
正确的处理方式是新建一个DTO来接收参数。
@Data
public class SysUser {
private String username;
}
@Data
public class SysUserDTO extends SysUser {
private String name;
}
@PostMapping("test")
public String add(@RequestBody SysUserDTO sysUserDTO) {
return "";
}