springboot可以实现前后端参数绑定
普通POST请求
User.java
package cn.ac.iie.bean;
import java.util.List;
public class Privileges {
private String userName;
private String authorityType;
private List<String> authorityApps;
public Privileges(String userName, String authorityType, List<String> authorityApps) {
this.userName = userName;
this.authorityType = authorityType;
this.authorityApps = authorityApps;
}
public Privileges() {
}
@Override
public String toString() {
return "Privileges{" +
"userName='" + userName + '\'' +
", authorityType='" + authorityType + '\'' +
", authorityApps=" + authorityApps +
'}';
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getAuthorityType() {
return authorityType;
}
public void setAuthorityType(String authorityType) {
this.authorityType = authorityType;
}
public List<String> getAuthorityApps() {
return authorityApps;
}
public void setAuthorityApps(List<String> authorityApps) {
this.authorityApps = authorityApps;
}
}
新建UserController.java
@RestController
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/user/add")
public Object addUser(User user) {
System.out.println(user);
return "CREATED";
}
}
可以直接使用PostMan来模拟发送请求,
POST请求,发送JSON数据格式
新建PrivilegesController.java
@RestController
public class PrivilegesController {
@Autowired
private PrivilegesService privilegesService;
@PostMapping("/privileges/add")
public Object privilegesAdd(@RequestBody Privileges2 privileges2) {
System.out.println(privileges2);
return "success";
}
}
Privileges.java
package cn.ac.iie.bean;
import java.util.List;
public class Privileges {
private String userName;
private String authorityType;
private List<String> authorityApps;
@Override
public String toString() {
return "Privileges{" +
"userName='" + userName + '\'' +
", authorityType='" + authorityType + '\'' +
", authorityApps=" + authorityApps +
'}';
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getAuthorityType() {
return authorityType;
}
public void setAuthorityType(String authorityType) {
this.authorityType = authorityType;
}
public List<String> getAuthorityApps() {
return authorityApps;
}
public void setAuthorityApps(List<String> authorityApps) {
this.authorityApps = authorityApps;
}
}
bean中包含list,因此需要前端传递数组,后台可以通过spring的@RequestBody直接获取出对应的bean。
postman需要准备的:
- 选post请求
- Headers中添加 key: Content-Type value:application/json
- Body中选raw, JSON(application/json)
- 文本框中写入json参数
{
"userName": "vincent",
"authorityType": "mac",
"authorityApps": ["1","2"]
}
这样后台就可以收到对象了