3

現在、Node.js に基づく新しいプロジェクトのミドルウェア レイヤーを開発しています。「純粋なバックエンド API (RESTful API)」といくつかのデータベース (MongoDB、MySQL など) の両方からデータを取得し、それらのデータをいくつかの条件付きフィルターと組み合わせて、すべてのクライアントに新しい API として公開する必要があります。

現時点では、これらのデータ ゲッターを Promises としてラップし、必要なデータをフィルター処理するだけです。しかし、その要件に対する適切な解決策があるのではないかと思います。

いくつかのアプローチの候補を次に示します。

  • LoopBack : LoopBack フレームワークは、複数のデータ ソースを超えてモデルを定義できます。ただし、LoopBack は「モデル レベル」の複数のデータ ソースのみをサポートし、「フィールド レベル」のデータ ソースはサポートしていないようです。つまり、データベースの一部のフィールドと RESTful API の他のフィールドを使用して特定のモデルを定義できませんでした。

  • GraphQL : 私は GraphQL を初めて使用しますが、GraphQL には RESTful API とデータベースの両方のコネクタがいくつかあるようです。

他のパッケージやライブラリは大歓迎です! 皆さんありがとう!

4

1 に答える 1

1

これは、GraphQL の優れた使用例です。

ただし、詳細に入る前に、GraphQL はある種の GraphQL クライアント、特に React を使用している場合は Relay と一緒に使用するのが最適であることに注意してください。GraphQL クライアントをまだ持っていない場合でも、GraphQL を使用できます (結局のところ単純な HTTP GET/POST です)。ただし、作成するクエリは、純粋な REST に比べて少しかさばる必要があります。ただし、その見返りに、はるかに優れた柔軟性を手に入れましょう!

GraphQL は非常に複雑です。ここにいくつかのポインターを示します。

GraphQL は間違いなく重要な投資です。十分に学習する時間を確保してください。また、これはまだかなり新しいため、推奨されるプラクティスはまだあまり多くありません。

于 2015-12-09T17:21:40.707 に答える