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