我正在處理一種連接到RESTFUL文件API的文件管理器應用程序。 在角度應用上,每個文件和目錄都是使用文件對象屬性relativePathName
作爲資源ID的角度爲$resource
的實例。
js var File = $resource(url + '/:type/:id', {id: '@relativePathName', type: '@type'}, {…});
問題是,更新文件資源時,所述relativePathName
參數獲取URL編碼,例如/
變成%2F
這會導致服務器在它碰到實際的API之前攔截請求(我假設服務器將其視爲物理地址並返回404響應)。該API能夠將整個網址段作爲單個參數進行處理,因此基本上它會將path/to/file
作爲參數http://myapp.com/api/files/create/path/to/file
的uri參數,而不是作爲不同的URI。
我的問題是,是否有一種方法可以在資源構造函數內部生成private Router instance之後修改請求url?如果是這樣,如何(在文檔中沒有發現這一點)?什麼是可能的解決方案?將relativePathName
作爲參數傳遞,而不是將其聲明爲資源ID(這將需要修改API)?
在此先感謝。
托馬斯
謝謝,這可能是唯一的方法。經過一番修改之後,我最終擴展了由'$ resource()'檢索的構造函數,並重寫'$ get',因爲這是唯一對我編碼的url參數至關重要的方法。 – iwyg