spring?boot前后端交互之數(shù)據(jù)格式轉(zhuǎn)換問題
在前后端分離開發(fā)的項目種,前端獲取數(shù)據(jù)的方式基本都是通過Ajax。請求方法也有所不同,常見的有POST,GET,PUT,DELETE等。甚至連請求的數(shù)據(jù)類型都不一樣,x-www-form-urlencodeed,form-data,json等。
那么在前后端交互過程中,具體的數(shù)據(jù)該如何接收呢?
json數(shù)據(jù)
{
"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,"賬戶已存在,請重新設(shè)置!");
}
}
System.out.println(userInfo.toString());
}
接收json數(shù)據(jù)的兩個關(guān)鍵點:
- json類型聲明
produces = "application/json;charset=UTF-8"
@RequestMapping接口處聲明傳輸類型未json。
- @RequestBody聲明Java Bean
json數(shù)據(jù)必須用對象接收,且必須用@RequestBody聲明。
x-www-form-urlencodeed表單數(shù)據(jù)

表單數(shù)據(jù)有兩種接收類型:
- @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ù)據(jù)的區(qū)別。
到此這篇關(guān)于spring boot前后端交互之數(shù)據(jù)格式轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)spring boot數(shù)據(jù)格式轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot使用Druid和監(jiān)控配置方法
Druid是Java語言中最好的數(shù)據(jù)庫連接池,并且能夠提供強大的監(jiān)控和擴展功能。下面來說明如何在 Spring Boot 中配置使用Druid2017-04-04
OpenFeign如何解決Get請求自動轉(zhuǎn)化成POST的問題
這篇文章主要介紹了OpenFeign如何解決Get請求自動轉(zhuǎn)化成POST的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04
java工廠實例BeanFactoryPostProcessor和BeanPostProcessor區(qū)別分析
這篇文章主要為大家介紹了BeanFactoryPostProcessor和BeanPostProcessor區(qū)別示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07

