Springboot 前后端参数交互方式

11次阅读

共计 1657 个字符,预计需要花费 5 分钟才能阅读完成。

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

正文完
 0