私はreactjsと安らかなWebサービスapiアーキテクチャに関する問題があります。一般的なケースでは、これは問題ではありませんが、私はこのような状況がある場合。 React Webは、多くのデータベーステーブル(これらのテーブルは関連しています)のAPIを1ページでサーバー上で消費しています(反応で複数のコンポーネントに分割されます)ReactとRestful WebサービスAPI通信
しかし、私は安らかなWebサービスデータベーステーブルである1つのリソースに対して1つのURLを持っています。関連リソースが必要な場合は、ネストされたURLを使用できます。私に例を挙げましょう。 Bill、Work Order、Sale Job、Productの4つのデータベーステーブルがあります。これらの関係で。 Billには1つのWork Orderがあり、Work Orderには多くのSale Jobsがあり、Sale Jobには1つのProductがあります。 この反応ページのすべてのデータが必要な場合は、少なくとも4つのhttp要求が必要です。 URLネストされたアプローチで、以下のように。
1. /api/bills/1
2. /api/bills/1/workOrder
3. /api/bills/1/workOrder/saleTxns
4. /api/bills/1/workOrder/saleTxns/product
は、または別の方法は、単に法案のURLは、私が(巨大である)、この反応ページのために必要なすべてのネストされたデータを持っているので、私はちょうど1件のhttpリクエストがあり、各コンポーネントにすべてのデータを渡すことができるようにすることです。
私の質問はどのアプローチが良いかということです。
- 複数のデータチャンクに分割されます。
- です。 へのルートコンポーネントジョブで、データをフェッチして子コンポーネントに渡しますか。または各コンポーネントが独自の データを取得します。
ちょうど1つの巨大な要求をロードします。
が、これはRESTfulなWeb サービスの悪い習慣になるのですか?私のURLのように見える/ api /請求書/ 1これはちょうどこの反応のための Webページ。だから私は、ios、アンドロイドのようなプラットフォームを持っている場合、私は URLが必要ですか? が好きかもしれません。
- /ウェブ/ API /紙幣/ 1?reactView1 =真、
- /ウェブ/ API /紙幣/ 1?reactView2 =真、
- /IOS/API /紙幣/ 1
- /アンドロイド/ API /請求書/ 1
"安らかなWebサービスの意味では、データベーステーブルである1つのリソースに1つのURLが必要です"。いいえ、それはひどく間違っています。同じ方法で、データベーステーブルごとに1つの画面を持つのは間違っています。データベースは、最も便利な方法でデータを保存する必要があります。 APIは、クライアントが必要とする形でデータを提供する必要があります。データベースの格納に便利な形ではありません。 RESTはAPIの形状のみを扱います。他の層については何も言わない。 –