Schema Definition Language
创建 GraphQL 的 Query 和 Type
GraphQL是一个基于类型系统来执行查询的,所以需要定义好暴露的查询接口(Query)以及接口的类型(Type).
Type 会帮助我们格式化查询结果的类型,一般为 boolean、string、float、int 等,另外还可以定义自定义类型
1. graphql-php:
①. 是PHP版本的GraphQL的完整实现方案.
A PHP port of GraphQL reference implementation.
②. 这个库是对现有数据层和业务逻辑层的简单封装.
a. 它并不指定这些层是如何实现的或者使用了哪些存储引擎.
b. 它提供了为现有应用程序创建丰富API的工具.
(1). 库的功能:
①. 将应用程序表现为类型系统的一个单元.
②. 类型系统的查询语句验证和自我检查(与GraphiQL等工具兼容).
③. 针对类型系统的解析、验证和执行GraphQL查询.
④. 丰富的错误报告,包括查询验证和执行错误.
⑤. 多种用于分析GraphQL类型语言的工具.
⑥. 用于将请求批处理到后端存储的工具.
⑦. 支持异步PHP平台.
⑧. 标准的HTTP服务器.
1. graphql-php:
①. 是PHP版本的GraphQL的完整实现方案.
A PHP port of GraphQL reference implementation.
②. 这个库是对现有数据层和业务逻辑层的简单封装.
a. 它并不指定这些层是如何实现的或者使用了哪些存储引擎.
b. 它提供了为现有应用程序创建丰富API的工具.
(1). 库的功能:
①. 将应用程序表现为类型系统的一个单元.
②. 类型系统的查询语句验证和自我检查(与GraphiQL等工具兼容).
③. 针对类型系统的解析、验证和执行GraphQL查询.
④. 丰富的错误报告,包括查询验证和执行错误.
⑤. 多种用于分析GraphQL类型语言的工具.
⑥. 用于将请求批处理到后端存储的工具.
⑦. 支持异步PHP平台.
⑧. 标准的HTTP服务器.
Lighthouse: 一个用于Laravel的GraphQL服务器
使用 Lighthouse 作为 GraphQL 服务器 composer require nuwave/lighthouse
通过graphqls文件
7.2、使用SDL构建schema graphql-java提供了两种不同的方式来定义模式: 以编程方式作为Java代码 通过特殊的graphql dsl(称为SDL).