graphql
2025-02-10 15:42:13 0 举报
AI智能生成
GraphQL是一种用于API的查询语言,由Facebook开发,旨在改进传统REST API的一些限制。核心内容聚焦于提供高效的数据获取方法,允许客户端精准地请求所需数据,并能够直观地描述数据结构。它让API更加灵活,提供了解决复杂数据需求的能力,同时避免过度或不足的数据传输。文件类型通常是API规范或模式定义,用SDL(Schema Definition Language)编写,也可被转译为各种编程语言。此外,GraphQL常被用作一个能力强大的网络数据工具,其修饰语可能包括“强大”,“灵活”,“高效”,或“结构化”的描述,因为这些是其设计意图和技术优势的体现。
作者其他创作
大纲/内容
框架
dgs-framework
graphql-java
spring-graphql
思考
它是向下的图形
使用GraphQL,您可以将业务域建模为图形
共享的语言
命名是构建直观api的一个困难但重要的部分
业务逻辑层
您的业务逻辑层应该作为执行业务域规则的唯一来源
使用遗留数据
最好构建一个描述客户机如何使用数据的GraphQL模式,而不是镜像遗留数据库模式
一步一步地
更频繁地获得确认和反馈
json
json-schema
jsonpatch
协议
Querie和Mutation
Field
Argument
Aliase
Fragment
在片段中使用变量
Variable
变量定义
默认值
Directive
Mutation
Inline Fragment
Meta field
Schema和Type
类型系统
类型语言实现
对象类型和字段
参数
Query和Mutation类型
标量类型
开箱即用的默认标量类型
Int: A signed 32‐bit integer
Float: A signed double-precision floating-point value
String: A UTF‐8 character sequence
Boolean: true or false
ID: The ID scalar type represents a unique identifier, often used to refetch an object or as the key for a cache
自定义标量类型
枚举类型
列表和非空
接口
定义
实现
获取子类型字段(内联片段)
Union类型
Input类型
验证
执行
对象图里的所有字段值都是标量就停止解析
根字段
Query
解析器
自省
最佳实践
HTTP
JSON (with GZIP)
版本控制
为空性
分页
服务器端批处理和缓存
DataLoader
提供对象标识符允许客户端构建丰富的缓存
federation
0 条评论
下一页