1.普通數(shù)據(jù)類型(get請(qǐng)求)加@resquestParam注解厂汗,代碼如下
@GetMapping("/detail")
public ResponsegetBasePrice(@RequestParam String id) {
????BasePrice price =basePriceService.queryBaseById(id);
? ? return returnSuccess(price);
}
2.普通數(shù)據(jù)類型(post請(qǐng)求)加@resquestBody注解盹舞,代碼如下
@PostMapping("/price")
public ResponsemodifyPrice(@RequestBody BasePrice basePrice) {
????basePriceService.modifyPriceById(basePrice);
? ? return returnSuccess();
}
3.如果傳遞到后臺(tái)的是json數(shù)組茫死,前后臺(tái)應(yīng)該這樣寫
@PostMapping("/add")
public ResponseaddBasePrice(@RequestBody List basePrice) {
????basePriceService.addBasePrice(basePrice);
? ? return returnSuccess();
}
@RequestParam
A)?常用來處理簡(jiǎn)單類型的綁定做盅,通過Request.getParameter() 獲取的String可直接轉(zhuǎn)換為簡(jiǎn)單類型的情況( 由String到 簡(jiǎn)單類型的轉(zhuǎn)換操作由ConversionService配置的轉(zhuǎn)換器來完成)灵再;因?yàn)槭褂胷equest.getParameter()方式獲取參數(shù)边翁,所以可以處理get 方式中queryString的值啼肩,也可以處理post方式中 body data的值。
B)用來處理Content-Type: 為 application/x-www-form-urlencoded編碼的內(nèi)容,提交方式GET儒陨、POST椭员。
C)?該注解有兩個(gè)屬性: value研铆、required; value用來指定要傳入值的id名稱咏窿,required用來指示參數(shù)是否必須綁定。
@RequestBody
A)?GET端蛆、POST方式提交時(shí)揭璃, 根據(jù)request header Content-Type的值來判斷:
application/x-www-form-urlencoded院崇, 可選(即非必須底瓣,因?yàn)檫@種情況的數(shù)據(jù)@RequestParam, @ModelAttribute也可以處理垦梆,當(dāng)然@RequestBody也能處理)另伍;
multipart/form-data, 不能處理(次類型多用來上傳文件類型---即使用@RequestBody不能處理這種格式的數(shù)據(jù),@RequestParam這個(gè)卻是可以處理的堕汞。)适贸;
其他格式蕊肥, 必須(其他格式包括application/json, application/xml等。這些格式的數(shù)據(jù)寻定,必須使用@RequestBody來處理)儒洛;
B)?PUT方式提交時(shí), 根據(jù)request header Content-Type的值來判斷:(表示沒見過put方式滴狼速,可以無視吧琅锻。)
application/x-www-form-urlencoded, 必須向胡;
multipart/form-data, 不能處理恼蓬;
其他格式, 必須僵芹;
說明:request的body部分的數(shù)據(jù)編碼格式由header部分的Content-Type指定处硬;