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

但是請(qǐng)求的時(shí)候,仍然提示projectId必傳:

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

這個(gè)問(wèn)題以前解決過(guò),——還是要溫習(xí)一下比較好呀
補(bǔ)充:接收參數(shù)注解@PathVariable 與 @RequestParam與 不使用注解接收參數(shù)的情況
@RequestParam使用場(chǎng)景:
@RequestParam: 顧名思義,獲取請(qǐng)求參數(shù)的
@RequestParam的兩個(gè)屬性:value 獲取值 , required 為 true 必填
1. 1前端地址情景:
http://localhost:8989/SSSP/emps?pageNo=2
如果想獲取地址中的 pageNo的值 ‘2'> ,則使用@RequestParam
1.2.前端BootStrap請(qǐng)求情景:
傳單個(gè)參數(shù):
queryParams:{id,id} // (此時(shí)id已獲取到j(luò)s,如var id = row.id )
傳多個(gè)參數(shù):
queryParams:function(params){
return{
type:#(‘type').val,
accountName:#(‘a(chǎn)ccountName').val
}
}
1.3 后臺(tái)獲取上面兩種傳參方式:
Public Object getXiFeiList(@RequestParam Map<String,Object> params){
//使用方式一:使用get(“key”)獲取后使用
params.get(“id”);
//使用方式二:作為Query的參數(shù)創(chuàng)建對(duì)象,直接使用
Query query = new Query(params);
List<DictDo> dictList = dictSevice.list(query);
}
@PathVariable使用場(chǎng)景:
@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. 后臺(tái)獲?。?/h3>
接收單個(gè)參數(shù)
String addD(@PathVariable(“type”) String type)
接收多個(gè)參數(shù)
String addD(@PathVariable(“type”) String type,@PathVariable(“id”) Long id)
不使用注解就可以接收參數(shù)的情況
情況1. 前端Js中發(fā)送ajax請(qǐng)求data:{‘id',id}情景:
remove(id){
function(){
$.ajax(){
url:prefix+”/remove”,
type:”post”,
data:{‘id',id}//ajax使用data傳值時(shí)使用@PathVariable
.......
}
}
}
情況1.后臺(tái)獲取:
public R remove(Long id){} // 獲取后就可以直接使用
情況2. 前端JS中發(fā)送ajax請(qǐng)求data: $('#addLoanForm').serialize()情景:
$.ajax({
cache: true,
type: "POST",
url:"/loansign/signProject/creditSave",
data: $('#addLoanForm').serialize()
//重要:將前臺(tái)表單中的數(shù)據(jù)序列化,序列化的內(nèi)容是name
}
情況2.后臺(tái)獲取:
public R creditSave( SignCreditDO signCredit){}//使用對(duì)象接收數(shù)據(jù)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Java內(nèi)部類應(yīng)用之靜態(tài)內(nèi)部類應(yīng)用示例
這篇文章主要介紹了Java內(nèi)部類應(yīng)用之靜態(tài)內(nèi)部類應(yīng)用,結(jié)合實(shí)例形式分析了Java靜態(tài)內(nèi)部類的原理、功能、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-09-09
springboot關(guān)于容器啟動(dòng)事件總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于springboot容器啟動(dòng)事件相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。2019-10-10
解決RestTemplate 請(qǐng)求接收自定義400+ 或500+錯(cuò)誤
這篇文章主要介紹了解決RestTemplate 請(qǐng)求接收自定義400+ 或500+錯(cuò)誤,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
Java使用Scala實(shí)現(xiàn)尾遞歸優(yōu)化來(lái)解決爆棧問(wèn)題
Scala?作為一種多范式的編程語(yǔ)言,結(jié)合了面向?qū)ο蠛秃瘮?shù)式編程的特性,在?Scala?中,尾遞歸?是通過(guò)編譯器優(yōu)化來(lái)防止棧溢出問(wèn)題的,尾遞歸優(yōu)化是一種特殊的優(yōu)化方式,可以讓遞歸調(diào)用不使用新的棧幀,所以本文介紹了在Java項(xiàng)目中如何使用Scala實(shí)現(xiàn)尾遞歸優(yōu)化來(lái)解決爆棧問(wèn)題2024-10-10
解決mybatis plus 分頁(yè)查詢有條數(shù),total和pages都是零的問(wèn)題
這篇文章主要介紹了解決mybatis plus 分頁(yè)查詢有條數(shù),total和pages都是零的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11

