1. 程式人生 > >springMVc 中的@RequestMapping使用正則表示式

springMVc 中的@RequestMapping使用正則表示式

相信大家都知道@RequestMapping註解的作用,我這裡就不介紹這個註解了。直接進入主題.

我在下面將以例子來講解:

@RequestMapping(value="/get/{id}")

public String getById(@PathVariable(name="id") Integer id){

.....

}

上面我只直接通過../get/1  這種格式的url就能訪問到這個方法並把1賦值到引數id 進行邏輯處理。但是大家有沒有想過,如果我手動傳的不是一個數字,而是一個字母,那會怎麼樣,那就會出現可能我們意想不到的結果(報錯或者別的).所以我們一開始直接可以正則表示式對這個引數進行設定,讓它只能是一種規定的型別,如只能是數字。

上面的例子如果只能是輸入數字,就可以這樣改:@RequestMapping(value="/get/{id:\\d+}"),這樣的話只能get後面是數字,否則就會報4xx錯誤,找不到這個路徑。

一些別的正則表示式如下:

\\d{6}:表示6位數字
\\?-[0,9]d:表示負整數
[a-z]{3} :三位字母

 

還有一個額外的知識點,有時候公司為了要求規範url,有時候一樣的方法,就是要寫出兩個url,這裡可以不用再寫兩個方法了,一個方法指定多個值如:@RequestMapping(value={"/foo","/bar"})