溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

@PathVariable注解允許參數(shù)為空、不傳參數(shù)如何處理

發(fā)布時間:2021-02-23 16:44:53 來源:億速云 閱讀:1093 作者:Leah 欄目:開發(fā)技術(shù)

@PathVariable注解允許參數(shù)為空、不傳參數(shù)如何處理?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

說明

設(shè)置可以不傳:

@PathVariable注解允許參數(shù)為空、不傳參數(shù)如何處理

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

@PathVariable注解允許參數(shù)為空、不傳參數(shù)如何處理

這是因為url要求帶參,屬于REST參數(shù)。

解決辦法

設(shè)置多個url path即可,有的傳REST參,有的不傳。當然required必須是false

@PathVariable注解允許參數(shù)為空、不傳參數(shù)如何處理

這個問題以前解決過,——還是要溫習一下比較好呀

補充:接收參數(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. 后臺獲?。?/h4>

接收單個參數(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.后臺獲?。?/p>

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.后臺獲?。?/p>

public R creditSave( SignCreditDO signCredit){}//使用對象接收數(shù)據(jù)

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI