我正在开发一种连接到RESTFUL文件api的文件管理器应用程序。在angular应用程序上,每个文件和目录都是$resource
使用file-object属性relativePathName
作为resource id的angular的实例。
js var File = $resource(url + '/:type/:id', {id: '@relativePathName', type: '@type'}, {…});
问题是,当更新文件资源时,relativePathName
参数会进行url编码,例如/
变成参数,%2F
从而导致服务器在到达实际API之前拦截请求(我假设服务器将其视为物理地址并返回404响应) 。该API能够将整个网址段视为一个参数,因此基本上将其path/to/file
视为uri参数http://myapp.com/api/files/create/path/to/file
而不是不同的uri。
我的问题是,在资源构造函数内部的私有Router实例生成请求网址后,是否可以修改请求网址?如果是这样,怎么办(在文档中什么都没找到)?有什么可能的解决方案?relativePathName
作为参数传递而不是将其声明为资源ID(这需要修改API)?
提前致谢。
汤玛士
使用$ resource并不是RESTful服务调用的一站式服务,它只是以某种方式构造的api的便捷服务。如果$ resource无法满足您的需求,只需使用适合您要调用的api的$ resource和$ http的组合来创建您自己的服务。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句