1.request參數提交(Form提交),適用於GET/POST
request參數傳遞都會轉換成 id=123&fileName=test.name&type=culture_art這種形式,get請求會顯示在url上,post不在url上顯示

ajax寫法:
$.ajax({ url : /admin/test, type : "post", async : true,//默認為true contentType: application/x-www-form-urlencoded, //默認值為表單提交 data : {"id" : id,"fileName" : fileName,"type" : modelType},//請求參數 success : function(data) { //請求成功處理 }, error : function(data) { //請求失敗處理 } });
controller
第1,2種寫法controller形參和ajax data中的key必須保持一致
第3種寫法形參可以不一致,@requestParam中的vaue必須和data中的key一致才能自動參數綁定)
第1種寫法
@PostMapping("/admin/test") public ResultBean<String> updateModelNameAndType(
String id,
String fileName,
String type) { return null; }
第2種寫法 @PostMapping("/admin/test") public ResultBean<String> updateModelNameAndType(
@RequestParam String id,
@RequestParam String fileName,
@RequestParam String type) { return null; }
第3種寫法 @PostMapping("/admin/test") public ResultBean<String> updateModelNameAndType(
@RequestParam(value="id") String tmpId,
@RequestParam(value="fileName") String tmpFileName,
@RequestParam(value="type") String tmpType) { return null; }
第4種寫法(封裝成bean,bean的屬性名稱和ajax data中的key一致即可自動綁定到對象)
@PostMapping("/admin/test") public ResultBean<String> updateModelNameAndType(ModelInfo modelInfo) { return null; }
2.request body提交,適用於POST提交
注意將ajax中data的值json對象轉成json字符串

ajax
$.ajax({ url : "/admin/test", type : "post", contentType : "application/json;charset=UTF-8", data : JSON.stringify({id:"id",fileName:"test.txt"}),//或者直接獲取form表單 data : $('#form').serialize() success : function(data) { }, error : function(data) { } });
controller
@PostMapping("/admin/test")
public ResultBean<String> insertNewVersion(@RequestBody VersionEntity versionInfo) {
return service.getVersionSvc().insertVersion(versionInfo);
}
