CreateArtTechnology
/ Blog
Login
最新文章
Java
语言相关
库相关
虚拟机相关
CreateArtTechnology
项目搭建
使用的工具
自研的工具
开源工具
ELK
ElasticSearch
Jenkins
Markdown
GraphQL
Arthas
生产工具
Linux
Nginx
VersionControl
Subversion
Git
Redis
Archiva
Maven
Zookeeper
Spring
SpringBoot
MySql
HBase
Cassandra
容器化
Docker
Kubernetes
服务容器化从零开始
未分类笔记
算法相关
概念相关
豆知识
机器学习
机器学习从零开始
graphql-java介绍和集成
25
2018-09-25 14:10:33
开源工具
GraphQL
##GitHub地址 https://github.com/graphql-java/graphql-java ##官方文档 https://graphql-java.readthedocs.io/en/latest/ ##graphql-java的一些辅助Git项目 https://github.com/graphql-java/awesome-graphql-java ##集成 很简单,根据官方文档集成即可,我使用的是Maven集成 ```java
com.graphql-java
graphql-java
9.0
``` 注意:需要JDK8或更高 ##Hello World ```java public class HelloWorld { public static void main(String[] args) { // 写入schema String schema = "type Query{hello: String}"; SchemaParser schemaParser = new SchemaParser(); // 解析schema的类 // 这里parse可以输入SDL文件 // typeDefinitionRegistry拥有merge方法,因此SDL可以模块化 TypeDefinitionRegistry typeDefinitionRegistry = schemaParser.parse(schema); RuntimeWiring runtimeWiring = newRuntimeWiring() // java8,直接用的RuntimeWiring的newRuntimeWiring() .type("Query", builder -> builder.dataFetcher("hello", new StaticDataFetcher("world"))) // 这段builder -> builder.dataFetcher("hello", new StaticDataFetcher("world")) 是java8特性,意思是Builder builder = new Builder(),builder.dataFetcher..... .build(); // 这里的Builder中多个type以最后一个覆盖 SchemaGenerator schemaGenerator = new SchemaGenerator(); // 编译 GraphQLSchema graphQLSchema = schemaGenerator.makeExecutableSchema(typeDefinitionRegistry, runtimeWiring); // build GraphQL build = GraphQL.newGraphQL(graphQLSchema).build(); // 查询 ExecutionResult executionResult = build.execute("{hello}"); // 格式化输出 System.out.println(executionResult.toSpecification()); } } ```
发布文章 101
文章被阅读 1605
最近修改
什么是“丝滑”的曲线
2021-12-08 15:19:20
高效空间数据索引R树及其批量加载方法STR简介
2021-09-29 20:33:37
关于分库分表的一些事儿
2021-06-25 11:51:25
获得诺奖的稳定匹配理论之TTC算法与GS算法
2021-03-14 23:04:48
算法小白的机器学习入门实践,从零到上线
2021-01-13 14:28:27
分站宗旨
一站式资料平台,减少重复检索,减少重复采坑。