我試圖使用RestEasy和Jax-R將請求路由到Java應用程序中的適當資源。但是,我在使用@ApplicationPath註釋時遇到了問題。我想在一個模式來傳遞,並有它的路線任何模式匹配到合適的位置RestEasy @ApplicationPath使用模式
我已經試過這樣:
@ApplicationPath("*/rest/v1/")...
和我可以路線的路徑,如:
/MyApplication/rest/v1/
或
/AnotherApp/rest/v1/
相同的申請。
但是,RestEasy給了我一個404它不能匹配的資源,但如果我硬編碼路徑沒有* /它工作正常。是否有可能在@ApplicationPath中放置這樣的模式?
編輯:
這樣做的整個目的是使應用程序的根路徑配置的,並且它具有通過過濾器運行以檢查配置。但是,如果在運行時配置@ApplicationPath可能是一種更好的解決方案。
謝謝您的答覆,但我明白了很多。我只是想爲'@ Path'資源創建一個全局應用程序路徑。所以每個@Path也有一個@ ApplicationScoped。例如,我想這樣做:'@ApplicationPath(「/.../」)'然後'@Path(「/ stuff」)'這樣一個帶'/.../ stuff'的url將會到達資源由'@Path(「/ stuff」)表示' – user2009114
我最終創建了一個捕獲所有請求並留下@ApplicationPath(/)的Web過濾器。在過濾器中,我做了各種驗證,然後通過修改的uri傳遞請求以取出basePath。我希望這對將來的人有用,所以如果在運行時需要更改baseUrl,那可能是最簡單的方法。 – user2009114