Springboot 前后端参数交互方式

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

前端传参方式:

  1. form 表单 - * input 中 name 要与 bean中的属性名相同
  2. 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..
        }
    });

相关推荐