我們正在面臨與使路徑參數可選有關的問題。@PathParam註釋中的可選參數
原始URL /expire/{token}
我們正在試圖做的是對的URL相同的服務工作的下方。
1. /expire/{token}
2. /expire
Ex:- @Path("/expire/{token}")
我們已經應用了SO的其他解決方案,但目前還沒有運氣。
我們正在面臨與使路徑參數可選有關的問題。@PathParam註釋中的可選參數
原始URL /expire/{token}
我們正在試圖做的是對的URL相同的服務工作的下方。
1. /expire/{token}
2. /expire
Ex:- @Path("/expire/{token}")
我們已經應用了SO的其他解決方案,但目前還沒有運氣。
從邏輯上講,讓它成爲可選項似乎沒有意義。你的URI應該處理它應該做的請求的類型。但是,我偶然發現一篇文章,使@PathParam
成爲可選項,並且使用正則表達式進行小型黑客攻擊。
http://www.nakov.com/blog/2009/07/15/jax-rs-path-pathparam-and-optional-parameters/
我會用具有控制器單獨的終結點方法,其中可以通過可選的參數調用你的服務去。
什麼增加,只有標註的另一種方法:
@Path("/expire")
而且讓這個方法傳遞一個空值到原來的方法。
我們可以使用正則表達式,
"@Path("/add/{a:([0-9.]*)}/{b:([0-9.]*)}{p:/?}{c:([0-9.]*)}")"
此路徑可以是
add/2/3
add/2/3/4
我的情況下,我使用正則表達式只允許數字
它根據REST意義!/expire/{token} 2./expire ..可以給出一個令牌列表 – unclescrouge