次の残り火データモデルがあるとします。
App.Person = DS.Model.extend({
firstName: DS.attr('string'),
lastName: DS.attr('string'),
starred: DS.attr('boolean')
});
これは、次のかなり標準的なCRUDAPIを使用してRailsアプリと通信します。
GET /people - get a list of people
POST /people - create a new person
GET /people/id - get a specific person
PUT /people/id - update a specific person
DELETE /people/id - delete a specific person
これはすべて、標準のStore/Adapterを使用してEmber-Dataにマップされます。
ただし、人を「スター」または「スター解除」するために、APIでは標準の更新アクションではこれを実行できないとしましょう。このアクションには特定のAPIエンドポイントがあります。
POST /people/id/star - mark a person as "starred"
POST /people/id/unstar - mark a person as "unstarred"
このAPIをEmberDataに適合させるにはどうすればよいですか?
どういうわけかDS.StoreとDS.RESTAdapterを拡張する必要があるようですが、これらのさまざまなアクションを認識させるための最善の方法がわかりません。また、アプリの汎用アダプターが主演者を認識している必要があることも少し間違っていると感じています。
POST /people/id
私はAPIを制御できないため、標準の更新に適合するように「スター付け」を認識できないことに注意してください。