處理@PathVariable注解允許參數(shù)為空、允許不傳參數(shù)的問題
說明
設(shè)置可以不傳:

但是請求的時候,仍然提示projectId必傳:

這是因?yàn)閡rl要求帶參,屬于REST參數(shù)。
解決辦法
設(shè)置多個url path即可,有的傳REST參,有的不傳。當(dāng)然required必須是false

這個問題以前解決過,——還是要溫習(xí)一下比較好呀
補(bǔ)充:接收參數(shù)注解@PathVariable 與 @RequestParam與 不使用注解接收參數(shù)的情況
@RequestParam使用場景:
@RequestParam: 顧名思義,獲取請求參數(shù)的
@RequestParam的兩個屬性:value 獲取值 , required 為 true 必填
1. 1前端地址情景:
http://localhost:8989/SSSP/emps?pageNo=2
如果想獲取地址中的 pageNo的值 ‘2'> ,則使用@RequestParam
1.2.前端BootStrap請求情景:
傳單個參數(shù):
queryParams:{id,id} // (此時id已獲取到j(luò)s,如var id = row.id )
傳多個參數(shù):
queryParams:function(params){
return{
type:#(‘type').val,
accountName:#(‘a(chǎn)ccountName').val
}
}
1.3 后臺獲取上面兩種傳參方式:
Public Object getXiFeiList(@RequestParam Map<String,Object> params){
//使用方式一:使用get(“key”)獲取后使用
params.get(“id”);
//使用方式二:作為Query的參數(shù)創(chuàng)建對象,直接使用
Query query = new Query(params);
List<DictDo> dictList = dictSevice.list(query);
}
@PathVariable使用場景:
@PathVariable:顧名思義,獲取url地址中的一部分值
1. 前端地址單參數(shù)情景:
http://localhost:8989/SSSP/emp/type
如果想獲取地址中的 emp/type 中的 ‘type ',則使用@PathVariable
2. 前端地址多參數(shù)情景
http://localhost:8989/SSSP/emp/7/5
如果想獲取地址中的 emp/7/5 中的‘7''5',則使用@PathVariable
3. 后臺獲?。?/h3>
接收單個參數(shù)
String addD(@PathVariable(“type”) String type)
接收多個參數(shù)
String addD(@PathVariable(“type”) String type,@PathVariable(“id”) Long id)
不使用注解就可以接收參數(shù)的情況
情況1. 前端Js中發(fā)送ajax請求data:{‘id',id}情景:
remove(id){
function(){
$.ajax(){
url:prefix+”/remove”,
type:”post”,
data:{‘id',id}//ajax使用data傳值時使用@PathVariable
.......
}
}
}
情況1.后臺獲取:
public R remove(Long id){} // 獲取后就可以直接使用
情況2. 前端JS中發(fā)送ajax請求data: $('#addLoanForm').serialize()情景:
$.ajax({
cache: true,
type: "POST",
url:"/loansign/signProject/creditSave",
data: $('#addLoanForm').serialize()
//重要:將前臺表單中的數(shù)據(jù)序列化,序列化的內(nèi)容是name
}
情況2.后臺獲取:
public R creditSave( SignCreditDO signCredit){}//使用對象接收數(shù)據(jù)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
springmvc不進(jìn)入Controller導(dǎo)致404的問題
這篇文章主要介紹了springmvc不進(jìn)入Controller導(dǎo)致404的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02
IntelliJ?IDEA?2023版本創(chuàng)建Spring項(xiàng)目時Java只能選擇17或21的問題解決方法
spring-boot是一個基于Java的開源框架,用于快速構(gòu)建生產(chǎn)級別的應(yīng)用程序,這篇文章主要給大家介紹了關(guān)于IntelliJ?IDEA?2023版本創(chuàng)建Spring項(xiàng)目時Java只能選擇17或21的問題解決方法,需要的朋友可以參考下2024-07-07
SpringMVC數(shù)據(jù)頁響應(yīng)ModelAndView實(shí)現(xiàn)頁面跳轉(zhuǎn)
本文主要介紹了SpringMVC數(shù)據(jù)頁響應(yīng)ModelAndView實(shí)現(xiàn)頁面跳轉(zhuǎn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
Spring裝配Bean之用Java代碼安裝配置bean詳解
這篇文章主要給大家介紹了關(guān)于Spring裝配Bean之用Java代碼安裝配置bean的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用spring具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10
Spring Boot啟動過程(六)之內(nèi)嵌Tomcat中StandardHost、StandardContext和Sta
這篇文章主要介紹了Spring Boot啟動過程(六)之內(nèi)嵌Tomcat中StandardHost、StandardContext和StandardWrapper的啟動教程詳解,需要的朋友可以參考下2017-04-04

