我将EmberJS与django一起使用。对于我的API,我想使用JSONAPI。为此,我安装了Django rest framework json api。在Ember中,我使用JSONAPIAdapter。
当我的Ember应用尝试获取 / pointments / 时,一切都很好,并且
"type": "Appointment"
但是当我的Ember Store尝试保存约会时,它会转到正确的URL,但是
"type": "appointments"
经过一些测试,我得出结论,唯一有效的类型是“约会”,而不是“约会”,也不是“约会”或“约会”。
我不知道为什么Ember JSONAPIAdapter会这样做,但是有没有办法解决此问题?
答案 0 :(得分:2)
JSON API规范本身并不关心类型是否为单数,复数,反斜线,下划线等。它与屈折规则无关。
但是Ember默认使用约定(JSON API spec的示例使用相同的约定)。 Ember的JSONAPIAdapter将默认对类型进行复数和反序列化。
重要的是,您的客户端和服务器使用相同的约定。我认为那是你的问题。
如果服务器使用其他约定,则可以自定义JSONAPIAdapter:
import DS from 'ember-data';
import { underscore } from '@ember/string';
export default DS.JSONAPIAdapter.extend({
pathForType(type) {
return underscore(type);
}
});