グラフィカルな最初のGraphSQLサーバー開発


GraphSQLスキーマは、データグラフに対して実行するために実行できる操作(クエリと突然変異)の指定を含む、クライアントに対して利用可能な機能を記述する一連の規則です.GraphSQLサービスを構築する場合、最初のコードまたはスキーマの最初のパスに従うかどうかを選択する必要があります.
  • Schema first -スキーマをtrueのソースとして配置し、自分のスキーマに格納されている定義に従ってコードを強制します
  • コードFirst ( Resolver first )- GraphSQLスキーマがプログラム的に実装されるアプローチです.
  • どちらの場合でも、完全に機能的なGraphSQLサービスで終了しますが、この選択は、いくつかの機能を導入するために必要な作業量の面であなたのプロジェクトに影響を与えます.

    GraphSQLサーバ開発のためのコードファーストフレームワーク


    Graphqlの人気の急速な成長は、別のツールのための自然な必要性を生成しました.コード最初のアプローチを表すツールの1つはGraphQL Nexus framerworkです.
    GraphSQL Nexusは、GraphSQLサーバーを構築するためのGraphSQLフレームワークです.スキーマは定義され、プログラムで実装されます.graphqlネクサスはノードに依存します.JSとTypesScriptのおかげで、以下のような機能を提供できます.
  • タイプセーフタイプの定義が生成されています.開発プロセスとコードを推論し、自動補完とエラーキャッチを提供します
    Grapql生態系による
  • 互換性- GraphSQL NexusはGraphSQL JSに大きく依存しており、自動生成されたスキーマをアポロサーバなどの最も人気のあるツールと互換性にするスキーマを構築するときに、既存の型とうまく動作します
  • データAgnostic - GraphSQL Nexusは、基本的にGraphSQL JSライブラリまたはアポロツールを使用することができますすべてを達成することができることを意味するGraphSQL JSライブラリの上部に階層化された宣言構文です.
  • あなたがする必要があるすべてのタイプを考え出したのは、あなたのGraphSQLサーバーの基礎として使用されるスキーマインスタンスを作成するために、makeSchema関数を使用するだけです.
    const schema = makeSchema({
      // The programmatically defined building blocks of your GraphQL schema
      types: [User, Query, Mutation],
    
      // Specify where the generated TS typings and SDL should be located
      outputs: {
        typegen: __dirname + '/generated/typings.ts',
        schema: __dirname + '/generated/schema.graphql',
      },
    
      // All input arguments and return types are non-null by default
      nonNullDefaults: {
        input: true,
        output: true,
      },
    })
    
    // ... feed the `schema` into your GraphQL server (e.g. apollo-server or graphql-yoga)
    

    始める


    前述のように、GraphSQL Nexusはgraphql-jsに大きく依存し、インストールにも必要です.
    npm install nexus
    npm install graphql # required as a peer dependency
    
    graphqlネクサスで始まる最良の方法はもちろんofficial documentationです.それに慣れ親しんだあと、次のステップは彼らのofficial examplesonline Playgroundで遊んでいることができました.楽しい!

    GraphSQLスキーマ開発の高速化


    Graphicsのエディタは、両方の高度なグラフィカルユーザーのための支援ツールであるだけでなく、これらのグラフィカルなAPIを使用して最初の手順を取る.GraphSQLのオールインワン開発環境では、Grapql APIをビルドしたり、管理したり展開したりするのに役立ちます.Try GraphQL Editor for free!