springboot接收前端參數(shù)的四種方式圖文詳解
前言
在開(kāi)始之前,我們需要一下準(zhǔn)備工作,創(chuàng)建數(shù)據(jù)庫(kù),springboot工程,添加依賴,配置文件,使用的技術(shù)有mybatisplus,springboot,maven,mysql。
首先,數(shù)據(jù)庫(kù)建表
然后,建立一個(gè)springboot項(xiàng)目,導(dǎo)入相關(guān)依賴,編寫(xiě)相關(guān)配置
其中,maven相關(guān)依賴
application.yml配置文件,我使用了mybatisplus,使用需要相關(guān)的依賴和配置
為了便于前后端交互,我使用了json進(jìn)行前后端數(shù)據(jù)傳遞,由Java后端進(jìn)行數(shù)據(jù)封裝
該項(xiàng)目包結(jié)構(gòu)如圖所示
好了,到這里準(zhǔn)備工作已經(jīng)基本完成,我們來(lái)探究后端如何接收前端給我們的參數(shù)
第一種:直接在方法中指定參數(shù)
我們?cè)赨serController中編寫(xiě)一個(gè)方法,通過(guò)用戶名和密碼得到一個(gè)user對(duì)象
在接口中添加方法,在實(shí)現(xiàn)類中重寫(xiě)
使用apifox進(jìn)行測(cè)試,可以看到我們已經(jīng)得到了返回結(jié)果
我們?cè)赨serController中使用了日志記錄了查詢過(guò)程,可以看到在控制臺(tái)輸出了username,說(shuō)明我們已經(jīng)得到了這個(gè)參數(shù),但是該方法有有幾個(gè)缺陷,一是我們?cè)赼pifox中body中參數(shù)要一一對(duì)應(yīng),username和password的位置不能錯(cuò),二是參數(shù)名稱必需一致,如果不同則不能接收到該參數(shù)。
那么顯然,這種接收參數(shù)的方法有很多缺陷,所以我們需要去改進(jìn)。
第二種:使用@requesrParam注解
該方法解決了第一種方法的缺點(diǎn),不需要參數(shù)一一對(duì)應(yīng),也不需要名稱一致,在注解里面,可以隨意填寫(xiě)任意名稱,都可以對(duì)應(yīng)。
第三種方法:基于@pathVariable
我們只需要在請(qǐng)求路徑上添加參數(shù),但是注意,路徑上添加的參數(shù)需要用括號(hào)拼接,且和方法內(nèi)對(duì)應(yīng)的參數(shù)名稱要相同。
第四種方法:基于@ResquestBody
該注解使用頻率最高,可以將參數(shù)自動(dòng)封裝為一個(gè)對(duì)象
用@ResquestBody封裝的對(duì)象,我們可以完整的保留user對(duì)象中對(duì)應(yīng)的所有屬性,未賦值的屬性對(duì)應(yīng)為空,且可以通過(guò)set,get方法對(duì)對(duì)象進(jìn)行修改賦值和提取。
總結(jié)
到此這篇關(guān)于springboot接收前端參數(shù)的四種方式的文章就介紹到這了,更多相關(guān)springboot接收前端參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JAVA實(shí)現(xiàn)Excel和PDF上下標(biāo)的操作代碼
這篇文章主要介紹了JAVA實(shí)現(xiàn)Excel和PDF上下標(biāo),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09解決Error:(1,?1)?java:?非法字符:?'\ufeff'問(wèn)題
這篇文章主要介紹了解決Error:(1,?1)?java:?非法字符:?'\ufeff'問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11SpringBoot整合log4j2日志的實(shí)現(xiàn)
在項(xiàng)目推進(jìn)中,如果說(shuō)第一件事是搭Spring框架的話,那么第二件事情就是在Sring基礎(chǔ)上搭建日志框架,大家都知道日志對(duì)于一個(gè)項(xiàng)目的重要性,尤其是線上Web項(xiàng)目,因?yàn)槿罩究赡苁俏覀兞私鈶?yīng)用如何執(zhí)行的唯一方式。此篇文章是博主在實(shí)踐中用Springboot整合log4j2日志的總結(jié)2021-06-06詳解Java對(duì)象轉(zhuǎn)換神器MapStruct庫(kù)的使用
在我們?nèi)粘i_(kāi)發(fā)的程序中,為了各層之間解耦,一般會(huì)定義不同的對(duì)象用來(lái)在不同層之間傳遞數(shù)據(jù)。當(dāng)在不同層之間傳輸數(shù)據(jù)時(shí),不可避免地經(jīng)常需要將這些對(duì)象進(jìn)行相互轉(zhuǎn)換。今天給大家介紹一個(gè)對(duì)象轉(zhuǎn)換工具M(jìn)apStruct,代碼簡(jiǎn)潔安全、性能高,強(qiáng)烈推薦2022-09-09java發(fā)起http請(qǐng)求獲取返回的Json對(duì)象方法
下面小編就為大家分享一篇java發(fā)起http請(qǐng)求獲取返回的Json對(duì)象方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03一文搞懂Java中對(duì)象池的實(shí)現(xiàn)
池化并不是什么新鮮的技術(shù),它更像一種軟件設(shè)計(jì)模式,主要功能是緩存一組已經(jīng)初始化的對(duì)象,以供隨時(shí)可以使用。本文將為大家詳細(xì)講講Java中對(duì)象池的實(shí)現(xiàn),需要的可以參考一下2022-07-07