探索graphQL-hasura引擎

本文介绍了Hasura的特性,如自动根据数据库生成GraphQL API,强大的权限控制和Action扩展业务逻辑。Hasura的授权依赖外部JWT服务器,支持角色和数据操作的细粒度控制。文中还分享了使用经验,包括如何配置Docker,解决访问问题和避免GraphQL的N+1问题。
摘要由CSDN通过智能技术生成

目录

初识Hasura和周边

开门见山说重点

个人理解

使用经验

hasura介绍

API接口性能的描述

how work

action业务逻辑

授权

鉴权

docker安装

其他


初识Hasura和周边

Hasura

graphQL规范的一种实现,作为graphQL服务器。

GraphQL

GraphQL | A query language for your API

GraphQL 是一种API规范,是一个基于类型系统来执行查询的服务端运行时。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

个人理解:图查询语言 用于检索数据的api查询语言 类比restful规范,用于定义接口;理解为是一种规范,如sql,结构性查询语言,与具体数据库无关。

类型系统:由自定义的各种数据模型构成,包括对象类型、标量、枚举、列表、接口、输入类型等。

最佳实践:通过单入口提供http服务的完整功能,返回json形式。

postgresql

对象关系型数据库

docker run --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=chl_postgre -d postgres

su postgres

createdb mydb

举例:hasura自动生成的graphQL API

url

http://host:port/v1/graphql

method

post

header

Content-Type = application/json; charset=utf-8

body

查询举例:

{"query":"query queryAuthor {chl_t_author {id age desc name}}"}

编辑举例:

{"query":"mutation MyMutation {insert_chl_t_mv(objects: {author_id: 1, desc: \"mv描述\", name: \"mv14\"}) {returning {id}}}"}

hasura配置演示

数据模型-维护

数据模型-外键关系

数据模型-角色访问控制

grapqlAPI-查询数据

grapqlAPI-编辑数据

action业务逻辑01-配置graphql和模型

action业务逻辑02-访问的rest接口url

action业务逻辑03-request参数转换

action业务逻辑04-response转换

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值