spring?boot前后端交互之數(shù)據格式轉換問題
在前后端分離開發(fā)的項目種,前端獲取數(shù)據的方式基本都是通過Ajax。請求方法也有所不同,常見的有POST,GET,PUT,DELETE等。甚至連請求的數(shù)據類型都不一樣,x-www-form-urlencodeed,form-data,json等。
那么在前后端交互過程中,具體的數(shù)據該如何接收呢?
json數(shù)據
{
"id": 0,
"address_id": 6,
"detail_address": "我是11251111111",
"user_id": 611111,
"create_time": null,
"update_time": null,
"name": "測試人11111",
"phone": "13378954789111"
}@RequestMapping(value = "/add",method = RequestMethod.POST,produces = "application/json;charset=UTF-8")
public ResponseData addUsers(@RequestBody UserInfo userInfo){
if (StringUtils.isNotEmpty(userInfo.getAccount())){
if (userInfoService.ifUserExist(userInfo.getAccount())){
return ResponseData.error(500,"賬戶已存在,請重新設置!");
}
}
System.out.println(userInfo.toString());
}
接收json數(shù)據的兩個關鍵點:
- json類型聲明
produces = "application/json;charset=UTF-8"
@RequestMapping接口處聲明傳輸類型未json。
- @RequestBody聲明Java Bean
json數(shù)據必須用對象接收,且必須用@RequestBody聲明。
x-www-form-urlencodeed表單數(shù)據

表單數(shù)據有兩種接收類型:
- @RequestParam接收
@RequestMapping(value = "/fuzzy",method = RequestMethod.POST)
public ResponseData fuzzyQuery(@RequestParam("carType") Integer carTpe, @RequestParam("carStatus") Integer carStatus, @RequestParam("name") String name, @RequestParam("carNo") String carNo){
//String name1 = "%"+name+"%";
List<CarInfo> carInfos = carInfoService.fuzzySelect(carTpe, carStatus, name, carNo);
return ResponseData.success(carInfos);
}使用@RequestParam的參數(shù)必須與傳入的參數(shù)一致
- 對象接收
@RequestMapping(value = "/pageList",method = RequestMethod.POST)
public ResponseData carPageList(CarInfoSelect carInfoSelect){
IPage<CarInfoResult1> page = carInfoService.carPageList(carInfoSelect);
//LayuiPageInfo pageInfo = LayuiPageFactory.createPageInfo(page);
return ResponseData.success(page);
}傳入的參數(shù)很多,將這些參數(shù)封裝為一個java對象來接收,注意和josn數(shù)據的區(qū)別。
到此這篇關于spring boot前后端交互之數(shù)據格式轉換的文章就介紹到這了,更多相關spring boot數(shù)據格式轉換內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
解決SpringBoot打成jar運行后無法讀取resources里的文件問題
這篇文章主要介紹了解決SpringBoot打成jar運行后無法讀取resources里的文件問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08
Spring boot基于ScheduledFuture實現(xiàn)定時任務
這篇文章主要介紹了Spring boot基于ScheduledFuture實現(xiàn)定時任務,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06
SpringBoot如何實現(xiàn)word文檔轉pdf
這篇文章主要介紹了SpringBoot如何實現(xiàn)word文檔轉pdf,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07

