JSONスキーマスキーマ(Swaggerなど)をGraphQLスキーマに変換するアダプターはありますか? REST http://graphql.org/blog/rest-api-graphql-wrapper/ のラップに関する公式の記事さえありますが、通常はREST既に説明されており、Swaggerが最も一般的なフォーマットです。すでに既存の実装がある場合は、自分で書きたくありません。
また、Swaggerを使用する場合、既存のREST APIをラップできるライブラリを作成しました。
https://github.com/yarax/swagger-to-graphql
基本的には、GraphQL型へのSwagger
スキーママッピングを行います。
そしてこのアプローチとライブラリについての記事があります https://medium.com/@raxwunter/moving-existing-api-from-rest-to-graphql-205bab22c184
私は実際にこれを数ヶ月前に試してみることに少し時間を費やしました。結果を詳しく説明する私の投稿をここで読むことができます: https://medium.com/apollo-stack/will-graphql-replace-rest-documentation-f1a55092ef9d#.m50im46o0
オンラインで利用可能な多くのSwaggerスキーマを検討した結果、Swaggerまたは同様のAPI記述言語は、GraphQLスキーマを定義するための良い出発点になると思いますが、独自にスキーマを生成するための十分な情報が含まれていないことがよくあります。具体的には、通常、オブジェクト間の関係に関する十分なデータがありません。
JSON形式のスキーマ記述から始めたい場合は、Swaggerでさまざまなデータ型をループするコードを記述し、GraphQLObjectType
オブジェクトを生成するだけです。上記のリンクしたブログ投稿のサンプルリポジトリで、これに対する簡単なアプローチを確認できます: .js#L28
基本的には、データの1つの形式を別の形式に変換するだけで、データ間にいくつかの関係(外部キー、IDなど)を追加し、ルートクエリをいくつか追加してエントリポイントを作成する必要があります。 REST APIの場合、多くの場合、単一および複数のリソースエンドポイントをルートクエリフィールドとして機能させることは理にかなっています。
一方、JSONスキーマをGraphQLスキーマに変換するためにいくつかのツールが実装されています。