1.普通數據類型(get請求)加@resquestParam注解,代碼如下
@GetMapping("/detail")
public ResponsegetBasePrice(@RequestParam String id) {
????BasePrice price =basePriceService.queryBaseById(id);
? ? return returnSuccess(price);
}
2.普通數據類型(post請求)加@resquestBody注解,代碼如下
@PostMapping("/price")
public ResponsemodifyPrice(@RequestBody BasePrice basePrice) {
????basePriceService.modifyPriceById(basePrice);
? ? return returnSuccess();
}
3.如果傳遞到后臺的是json數組,前后臺應該這樣寫
@PostMapping("/add")
public ResponseaddBasePrice(@RequestBody List basePrice) {
????basePriceService.addBasePrice(basePrice);
? ? return returnSuccess();
}
@RequestParam
A)?常用來處理簡單類型的綁定,通過Request.getParameter() 獲取的String可直接轉換為簡單類型的情況( 由String到 簡單類型的轉換操作由ConversionService配置的轉換器來完成);因為使用request.getParameter()方式獲取參數,所以可以處理get 方式中queryString的值,也可以處理post方式中 body data的值。
B)用來處理Content-Type: 為 application/x-www-form-urlencoded編碼的內容,提交方式GET、POST。
C)?該注解有兩個屬性: value、required; value用來指定要傳入值的id名稱,required用來指示參數是否必須綁定。
@RequestBody
A)?GET、POST方式提交時, 根據request header Content-Type的值來判斷:
application/x-www-form-urlencoded, 可選(即非必須,因為這種情況的數據@RequestParam, @ModelAttribute也可以處理,當然@RequestBody也能處理);
multipart/form-data, 不能處理(次類型多用來上傳文件類型---即使用@RequestBody不能處理這種格式的數據,@RequestParam這個卻是可以處理的。);
其他格式, 必須(其他格式包括application/json, application/xml等。這些格式的數據,必須使用@RequestBody來處理);
B)?PUT方式提交時, 根據request header Content-Type的值來判斷:(表示沒見過put方式滴,可以無視吧。)
application/x-www-form-urlencoded, 必須;
multipart/form-data, 不能處理;
其他格式, 必須;
說明:request的body部分的數據編碼格式由header部分的Content-Type指定;