0

Angular、RESTful、Express に基づくシングルページ アプリを開発しています。データベースを管理するためにnode-orm2を選択しました。私のデータモデルは次のようなものです:

var User = db.define("user", {
    name: String
});
var Order = db.define("order", {
    type: String,
    comment: String
}
// this line will produce methods: Order.getOwner(..), Order.setOwner(..), User.getOrders(..), User.addOrder(..)
Order.hasOne("owner", User, {reverse: 'orders'});
var Offer = db.define("offer",{
    price:  Number
});
// this line will produce methods: Offer.getOrder(..), Offer.setOrder(..), Order.getOffers(..), Order.addOffer(..)
Offer.hasOne("order", Order, {reverse: "offers"});

このモデルに Angular フロント (を使用$resource) からアクセスするために、Express アプリ用の RESTful ハンドラーを作成しました。

router.route("/user/:user_id/orders").get(...).post(...)
router.route("/user/:user_id/orders/:order_id").get(...).delete(...)
router.route("/user/:user_id/orders/:order_id/offers").get(...).post(...)
router.route("/user/:user_id/orders/:order_id/offers/:offer_id").get(...).put(...)

その後、データ モデルの定義と RESTful API の実装の間に明確なマッピングがあることに気付きました。

たとえば、Offer.hasOne("order", Order, ...)下にオファー操作用のパスのサブツリーがあるとします/user/:user_id/orders/:order_id。そして、このサブツリーは標準です:

  1. offers").post(...)- オファーを作成します。
  2. offers").get(...)- すべてのオファーを取得する;
  3. offers/:offer_id").get(...)- 具体的なオファーを得る
  4. offers/:offer_id").put(...)- 具体的なオファーを修正する

モデルを定義して、登録するだけで RESTful API で処理できるようにする必要があります。

この場合の既存のフレームワークはありますか?

アップデート

引数付きの PUT アクションとして実装するビジネス ロジック操作。

4

0 に答える 0