springboot接收前端參數(shù)的四種方式圖文詳解
前言
在開始之前,我們需要一下準備工作,創(chuàng)建數(shù)據(jù)庫,springboot工程,添加依賴,配置文件,使用的技術有mybatisplus,springboot,maven,mysql。
首先,數(shù)據(jù)庫建表
然后,建立一個springboot項目,導入相關依賴,編寫相關配置
其中,maven相關依賴
application.yml配置文件,我使用了mybatisplus,使用需要相關的依賴和配置
為了便于前后端交互,我使用了json進行前后端數(shù)據(jù)傳遞,由Java后端進行數(shù)據(jù)封裝
該項目包結構如圖所示
好了,到這里準備工作已經(jīng)基本完成,我們來探究后端如何接收前端給我們的參數(shù)
第一種:直接在方法中指定參數(shù)
我們在UserController中編寫一個方法,通過用戶名和密碼得到一個user對象
在接口中添加方法,在實現(xiàn)類中重寫
使用apifox進行測試,可以看到我們已經(jīng)得到了返回結果
我們在UserController中使用了日志記錄了查詢過程,可以看到在控制臺輸出了username,說明我們已經(jīng)得到了這個參數(shù),但是該方法有有幾個缺陷,一是我們在apifox中body中參數(shù)要一一對應,username和password的位置不能錯,二是參數(shù)名稱必需一致,如果不同則不能接收到該參數(shù)。
那么顯然,這種接收參數(shù)的方法有很多缺陷,所以我們需要去改進。
第二種:使用@requesrParam注解
該方法解決了第一種方法的缺點,不需要參數(shù)一一對應,也不需要名稱一致,在注解里面,可以隨意填寫任意名稱,都可以對應。
第三種方法:基于@pathVariable
我們只需要在請求路徑上添加參數(shù),但是注意,路徑上添加的參數(shù)需要用括號拼接,且和方法內對應的參數(shù)名稱要相同。
第四種方法:基于@ResquestBody
該注解使用頻率最高,可以將參數(shù)自動封裝為一個對象
用@ResquestBody封裝的對象,我們可以完整的保留user對象中對應的所有屬性,未賦值的屬性對應為空,且可以通過set,get方法對對象進行修改賦值和提取。
總結
到此這篇關于springboot接收前端參數(shù)的四種方式的文章就介紹到這了,更多相關springboot接收前端參數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
解決Error:(1,?1)?java:?非法字符:?'\ufeff'問題
這篇文章主要介紹了解決Error:(1,?1)?java:?非法字符:?'\ufeff'問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11