javascript - Ember.js 休息适配器 : mapping JSON with no root (. NET Web API)

标签 javascript json ember.js asp.net-web-api ember-data

我有一个使用 .NET Web API 编写的现有服务。

例如,此服务以下列格式返回 JSON:

[
  { "id": 1, "name": "John" },
  { "id": 2, "name": "Jane" }
]

但是,根据 Ember.js Rest Adapter documentation , Ember 需要以下格式的 JSON:

{
  "persons": [
    { "id": 1, "name": "John" },
    { "id": 2, "name": "Jane" }
  ]
}

因此,Ember 返回以下错误: 您的服务器返回了一个带有键 0 的散列,但您没有它的映射

我绝不打算更改我的服务 API 及其返回数据的方式。

是否可以让 Ember.js(最新版本)处理我的服务返回的现有数据?如果可以,我该如何实现?

最佳答案

从这个意义上说,Ember 非常灵活,能够扩展适配器和序列化程序,以便将您的应用程序与任何后端 API 集成。

您应该获得 WebAPIAdapter,它是 Ember.js Template for Web API 的一部分.

此外,您可能想看看 this project我写了一个例子,基于相同的模板(我自己做了一些修改)。它仍在开发中,还没有包含所有最佳实践,但我认为这是一个有效的示例。

你也应该看看这个 repo / library (您也可以安装它 via NuGet),它允许您将 Handlebars 模板直接预编译到 Ember.TEMPLATES 集合中。

关于javascript - Ember.js 休息适配器 : mapping JSON with no root (. NET Web API),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15839424/

相关文章:

ember.js - Ember 创建对象时如何观察火(观察已在模型中设置)

javascript - 使用文字符号制作 JavaScript 对象

javascript - 从函数对象调用 jQuery 方法没有效果

javascript - ng-repeat 垂直溢出

javascript - 在 firefox 扩展中读取本地 json 文件

json - play 框架 - 如何更新 json 索引数组项

javascript - HTMLBars 渲染测试

javascript - Ember.js 中的数组操作

javascript - 创建 Leaflet 自定义复选框控件

javascript - 如何使用通用按钮+ selectInput 通过R Shiny 中的javascript更改轨迹n的图例图例状态