AngularJS$resource提供根密钥的API
AngularJS $resource with API supplying root key
我正在构建一个 Angular 应用程序,该应用程序与提供包装在根密钥中的资源的服务器进行通信。
换句话说,对GET /api/posts
的请求会给 JSON 响应{ posts: [ ... ] }
。
同样,单个资源请求也包含在根键中,因此GET /api/post/1
返回类似 { post: {title: "Title"} }
的内容。
我想使用 $resource
来处理获取这些资源,并建立了一个具有典型生产线的工厂:
$resource('/api/posts/:id', {id: '@id'})
但这自然是行不通的,因为它不希望必须查找根键,并且在查询时期望使用数组而不是对象等。
我想知道是否有一种相对简单的方法可以使它对$resource
透明,以便它可以正常使用。我尝试四处寻找解决方案,但找不到与此特定情况相关的任何内容。我完全有可能在$resource
文档中遗漏了一些非常明显的东西,但我似乎无法弄清楚。 任何帮助将不胜感激!
这个问题的解决方案比我想象的要容易。 正如帕特里克在他的评论中所建议的那样,这只是一个覆盖query
方法以获得isArray: false
的问题,然后手动拔出密钥。 在实践中,它看起来像这样:
$resource('/api/posts/:id', {id: '@id'}, {query: {method: 'GET', isArray: false}})
...
$resource.query({}, function(response) {
posts = response.posts;
// Do whatever with posts
})
我一直想知道是否有一种方法实际上$resource.query()
只返回根键的值,但这没有意义,也是不必要的。
相关文章:
- API密钥使用和检查示例
- 基于api密钥的NodeJS web服务
- 带有新API密钥的Google Places Library OVER_QUERY_LMIT
- 如何在Ionic/Codova应用程序中保护我的Google Maps Javascript V3 API密钥
- 关于Parse.com客户端共享应用程序;api密钥
- 为Google Matrix指定API密钥API Javascript检索用法
- 谷歌云打印API密钥
- YouTube API密钥安全-我应该有多担心
- 使用javascript使用带有API密钥的API
- 您是否需要将 API 密钥用于客户端应用程序的谷歌地图 API
- 用于客户端-服务器通信和安全的 API 密钥
- 复制 API 密钥是否意味着身份被盗?
- 在 Javascript 中保护 API 密钥
- 是否可以检测到谷歌地图何时拒绝了API密钥
- 确定 Google 地图 API 在运行时是否使用了无效密钥
- 当我的 API 密钥位于 .gitignore 文件中时,如何从 git 部署到 heroku
- AngularJS$resource提供根密钥的API
- 在哪里使用地方 API 密钥
- 如何正确添加谷歌地图 api 密钥
- 谷歌地理编码仅在没有API密钥的情况下运行