我正在開發一個RESTlet API(JAVA),並且我創建了一個自定義授權過濾器,可以在將所有請求傳遞到路由器之前運行所有請求。在我的請求中,我始終將會話ID作爲請求屬性傳遞,例如RESTlet授權過濾器
http://localhost:8080/myAPI/{sid}/someResource/
現在,在我的功能擴展ServerResource,我可以做這樣的事情很容易地提取{SID}:
String sid = (getRequestAttributes().containsKey("sid")) ? getRequestAttributes().get("sid").toString() : "";
我的問題是,在我的授權功能,其中過濾器(授權功能不是通過路由器調用,但在我的主要函數中調用createInboundRoot()函數),我不能使用相同的方法來提取{sid}。我已經使用request.getResourceRef()。getSegments()的字符串操作創建了一個解決方法,但是必須有更好的方法嗎?
任何幫助將不勝感激!
感謝
謝謝阿布舍克!這是一個很好的答案。我給了這一槍。 – kvheerden