vue2向springboot傳值接收不到的解決方法
我們?cè)陂_(kāi)發(fā)項(xiàng)目時(shí),經(jīng)常會(huì)前后端分離,這樣方便開(kāi)發(fā)和測(cè)試。但是前后端分離也會(huì)導(dǎo)致許多的BUG出現(xiàn)。
這是一段vue2代碼:
let url = this.urls.search + "/" + this.currentPage + "/" + this.pageSize; axios({ method: "POST", url: url, data: this.searchForm }).then((res) => { if (res.status === 200) { this.loading = false; this.menuList = res.data.data; } else { this.$message({ type: 'error', message: res.data.msg }); } }).catch((error) => { console.log(error); this.loading = false; this.$message.error("服務(wù)器異常,請(qǐng)稍后再試"); });
這是一個(gè)常見(jiàn)的axios方法,其作用是進(jìn)行分頁(yè)+條件查詢。在這個(gè)方法中,我們需要向后端傳的值有currentPage(當(dāng)前頁(yè)碼)、pageSize(一頁(yè)數(shù)據(jù)條數(shù))和查詢的對(duì)象。我們?cè)賮?lái)看后端代碼:
@PostMapping("/list") public Result<List<BusinessVO>> list(Integer pageIndex, Integer pageSize, BusinessDTO businessDTO) { return Result.getSuccessResult(businessService.list(pageIndex, pageSize, businessDTO)); }
這是后端controller層的方法,通過(guò)url來(lái)實(shí)現(xiàn)方法的調(diào)用。
但是這樣寫的話,會(huì)發(fā)現(xiàn)一個(gè)問(wèn)題:前端的參數(shù)后端(controller)接收不到。
原因是在接收前端的參數(shù)時(shí)需要在后端參數(shù)前加注解。正確代碼如下:
@PostMapping("/list/{pageIndex}/{pageSize}") public Result<List<BusinessVO>> list(@PathVariable Integer pageIndex, @PathVariable Integer pageSize, @RequestBody BusinessDTO businessDTO) { return Result.getSuccessResult(businessService.list(pageIndex, pageSize, businessDTO)); }
一般傳參數(shù)時(shí),頁(yè)數(shù),頁(yè)面大小等和數(shù)據(jù)庫(kù)無(wú)關(guān)的字段會(huì)直接加在url上,@PostMapping("/list/{pageIndex}/{pageSize}") 在這里加上這兩個(gè)參數(shù),在參數(shù)前面加上@PathVariable注解;前端直接把這兩個(gè)參數(shù)加在url后面即可this.urls.search + "/" + this.currentPage + "/" + this.pageSize。
而條件查詢的參數(shù)一般不外顯,直接使用@RequestBody會(huì)更方便,前端數(shù)據(jù)放在data里面。
注意:在使用@RequestBody注解時(shí),方法必須使用@PostMapping(POST請(qǐng)求)!??!如使用@GetMapping(Get請(qǐng)求)則會(huì)報(bào)錯(cuò)!??!
到此這篇關(guān)于vue2向springboot傳值接收不到的解決方法的文章就介紹到這了,更多相關(guān)vue2 springboot傳值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot+Vue.js實(shí)現(xiàn)前后端分離的文件上傳功能
- vue+springboot前后端分離實(shí)現(xiàn)單點(diǎn)登錄跨域問(wèn)題解決方法
- 部署vue+Springboot前后端分離項(xiàng)目的步驟實(shí)現(xiàn)
- 使用springboot結(jié)合vue實(shí)現(xiàn)sso單點(diǎn)登錄
- vue+springboot實(shí)現(xiàn)項(xiàng)目的CORS跨域請(qǐng)求
- Vue向后臺(tái)傳數(shù)組數(shù)據(jù),springboot接收vue傳的數(shù)組數(shù)據(jù)實(shí)例
- springboot整合vue實(shí)現(xiàn)上傳下載文件
- springboot+vue+對(duì)接支付寶接口+二維碼掃描支付功能(沙箱環(huán)境)
相關(guān)文章
JAVA調(diào)用SAP WEBSERVICE服務(wù)實(shí)現(xiàn)流程圖解
這篇文章主要介紹了JAVA調(diào)用SAP WEBSERVICE服務(wù)實(shí)現(xiàn)流程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10詳解jdbc實(shí)現(xiàn)對(duì)CLOB和BLOB數(shù)據(jù)類型的操作
這篇文章主要介紹了詳解jdbc實(shí)現(xiàn)對(duì)CLOB和BLOB數(shù)據(jù)類型的操作的相關(guān)資料,這里實(shí)現(xiàn)寫入操作與讀寫操作,需要的朋友可以參考下2017-08-08ThreadLocal數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)原理解析
這篇文章主要為大家介紹了ThreadLocal數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10springboot中@Async默認(rèn)線程池導(dǎo)致OOM問(wèn)題
這篇文章主要介紹了springboot中@Async默認(rèn)線程池導(dǎo)致OOM問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06springboot如何通過(guò)SSH連接遠(yuǎn)程服務(wù)器
這篇文章主要介紹了springboot如何通過(guò)SSH連接遠(yuǎn)程服務(wù)器問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07Flowable?ReceiveTask使用場(chǎng)景分析
這篇文章主要為大家介紹了Flowable?ReceiveTask使用場(chǎng)景分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10maven 在執(zhí)行package,install,deploy時(shí)使用clean與不使用clean的不同之處
有時(shí)候用mvn install后,新改的內(nèi)容不生效,一定要后來(lái)使用mvn clean install 才生效,由于之前沒(méi)有做記錄,以及記不清是什么情況下才會(huì)出現(xiàn)的問(wèn)題,于是想看看clean和不clean的區(qū)別,感興趣的朋友跟隨小編一起看看吧2021-08-08