GraphhQLのgraphhl-java-servletモジュール詳細
本質的には、graphhl-java-servletソフトウェアモジュールはJava Servletを実現し、GraphQLサービスをHTTPを通じてアクセス可能なWebサービスとして発表する。現在、graphhl-java-servletソフトウェアモジュールはGraphQLのQueryとMutationの操作タイプだけをサポートしていますが、subscriptionの操作タイプはまだサポートされていません。
graphhql-java-servletソフトウェアモジュールの最新バージョンは2017.12にリリースされた4.7.0です。
1. grapphql-java-servlet依存度は以下のモジュールです。 javax.servlet:javax.servlet-api:3.0.3.1 comp.graph-java:graphql-java:6.0 common.faster xml.jackson.com:jackson-*:2.8.4 2.Maven項目でgraphhl-java-servletを使用すると、pom.xmlの中で以下のように引用されます。
一つのServletだけであるが、HTTP GET/POST要求を同時にサポートし、要求パラメータによって様々な要求が可能である。1)内部構造照会GET要求
http://localhost:8080/graphql/schema.json
2)GraphhQLクエリGET要求http://localhost:8080/graphql/?query={…}3)GraphQLクエリ
POSTリクエスト
http://localhost:8080/graphql/
{query]:「{hello}」
4)GraphQLクエリPOST要請http://localhost:8080/graphql/{"graphql":{query]:「{hello}」}
5)GraphQLクエリPOST要請http://localhost:8080/graphql/{query}
説明:各要求(おそらくqueryまたはmutation)に対して、パラメータを伴うことができる「operation Name」、「variables」、「operation Name」は操作の対象であり、「variables」は操作対象の属性セットである。
デフォルトで要求されているHTTP Contint-Typeは、aplication/jsonです。charset=UTF-8です
4.Spring Webアプリケーションでgraphhl-java-servletモジュールを使用する
1)graphhl-spring-bootモジュールを通じて、間接的にgraphh-java-servletモジュールを使用します。詳細はgraphql-sprig-bootを参照してください。GraphQLのSpring Boot Startersライブラリの概要を合わせてください。
2)Spring beanの定義は以下の通りです。
参照リンク:
https://github.com/graphql-java/graphql-java-servlet
graphhql-java-servletソフトウェアモジュールの最新バージョンは2017.12にリリースされた4.7.0です。
1. grapphql-java-servlet依存度は以下のモジュールです。
com.graphql-java
graphql-java-servlet
4.7.0
3. grapphql-java-servletソフトウェアモジュールは一つのServletであり、つまり唯一のWeb要求経路のみを提供している。一つのServletだけであるが、HTTP GET/POST要求を同時にサポートし、要求パラメータによって様々な要求が可能である。1)内部構造照会GET要求
http://localhost:8080/graphql/schema.json
2)GraphhQLクエリGET要求http://localhost:8080/graphql/?query={…}3)GraphQLクエリ
POSTリクエスト
http://localhost:8080/graphql/
{query]:「{hello}」
4)GraphQLクエリPOST要請http://localhost:8080/graphql/{"graphql":{query]:「{hello}」}
5)GraphQLクエリPOST要請http://localhost:8080/graphql/{query}
説明:各要求(おそらくqueryまたはmutation)に対して、パラメータを伴うことができる「operation Name」、「variables」、「operation Name」は操作の対象であり、「variables」は操作対象の属性セットである。
デフォルトで要求されているHTTP Contint-Typeは、aplication/jsonです。charset=UTF-8です
4.Spring Webアプリケーションでgraphhl-java-servletモジュールを使用する
1)graphhl-spring-bootモジュールを通じて、間接的にgraphh-java-servletモジュールを使用します。詳細はgraphql-sprig-bootを参照してください。GraphQLのSpring Boot Startersライブラリの概要を合わせてください。
2)Spring beanの定義は以下の通りです。
@Bean
ServletRegistrationBean graphQLServletRegistrationBean(GraphQLSchema schema, ExecutionStrategy executionStrategy, List operationListeners) {
return new ServletRegistrationBean(new SimpleGraphQLServlet(schema, executionStrategy, operationListeners), "/graphql");
}
デフォルトのWeb要求パスは/graphqlです。参照リンク:
https://github.com/graphql-java/graphql-java-servlet