springboot 前后端参数交互方式
Get 方式:
1. localhost:8080/index?id=1
@RequestParam(value = “grade”, defaultValue = “”) String grade)
2.
localhost:8080/index/{reportType}
localhost:8080/index-{reportType}
@RequestMapping(“/commonReportForm/{reportType}”)
@ResponseBody
public ModelAndView index(@PathVariable(name = “reportType”, required = false) Integer reportType, ModelAndView mv) {….}
@RequestMapping(“/commonReportForm-{reportType}”)
@ResponseBody
public ModelAndView index(@PathVariable(name = “reportType”, required = false) Integer reportType, ModelAndView mv) {….}
Post 方式:
直接以一个 bean 接收
public Object save(User user) {….}
前端传参方式:
form 表单 – * input 中 name 要与 bean 中的属性名相同
ajax:
$.ajax({
type: “POST”,
url: dbrwListpath,
data: {
“id”: id,
“name”: name,
},
dataType: “json”,
success: function (data) {
//do something..
},
error: function (data) {
//do something..
}
});
json 传参方式:
public Object save(@RequestBody User user) {….}
前端 ajax:
$.ajax({
type: “POST”,
headers: {
‘Accept’: ‘application/json’,
‘Content-Type’: ‘application/json’
},
url: dbrwListpath,
data: {
“id”: id,
“name”: name,
},
dataType: “json”,
success: function (data) {
//do something..
},
error: function (data) {
//do something..
}
});
Dto 封装方式:
public Object save(@RequestBody DataDto dto) {….}
public class DataDto{
// 学校 id
private Integer schoolId;
// 幼儿信息
private List<User> users;
//get set …
}
前端 ajax 数据格式:
// 示例
var user = [];
for (var i = 0; i < clen; i++) {
var c = {};
c.id = 1;
c.name = tom;
user.push(c);
}
//datas 属性名需与 Dto 实体的属性名相同
var datas = {
schoolId:schoolId,
user:user
};
$.ajax({
type: “POST”,
headers: {
‘Accept’: ‘application/json’,
‘Content-Type’: ‘application/json’
},
url: “/comprehensiveDeclaration/comprehensive-” + comprehensiveId + “/step1-save”,
data: JSON.stringify(datas),
dataType: “json”,
success: function (response) {
//do something..
},
error: function (data) {
//do something..
}
});