我正在开发一个用卓别林编写的应用程序。我们希望我们的 REST 是 HATEOAS,我们正在考虑在 JSON 中使用 HAL 作为标准链接结构。我看到有一个与 HAL 一起使用的骨干扩展,但这会产生自己的Model
和Collection
类。卓别林还开设了自己的Model
和Collection
课程。有没有一种简单的方法可以制作一个结合了HAL和卓别林模型和Collection
类的"大师"Model
和Collection
类?
这就是我最终所做的。有人想出更好的答案,拜托!
models/base/model.coffee:
module.exports = class Model extends Chaplin.Model
parse: HAL.Model::parse
url: HAL.Model::url
isNew: HAL.Model::isNew
constructor: (attrs, options) ->
super @parse(_.clone attrs), options
models/base/collection.coffee:
module.exports = class Collection extends Chaplin.Collection
# Use the project base model per default, not Chaplin.Model
model: Model
parse: HAL.Collection::parse
url: HAL.Collection::url
reset: HAL.Collection::reset
constructor: (attrs, options) ->
super @parse(_.clone attrs), options