GraphQL 工具推荐:打造高效的开发环境

news2025/1/17 14:00:59

GraphQL 工具

本文章,会列举一些好用的 GraphQL 工具,他们可以大大提升你在开发中使用 GraphQL 的效率哦!

Prisma

你可以这么理解,Prisma 是一个 ORM 的库,让你使用 GraphQL 查询时,可以使用对象的形式去查询,而不需要使用查询语句去查询,非常方便,而且 Prisma 还拥有以下特点:

  • Prisma 支持很多数据库,比如 Mysql、PostgreSQL、MariaDB 等数据库,以后还会支持更多
  • 对 Typescript、JavaScript、Go 都有非常好的支持
  • 内置了一些 CURD 的功能

Relay

Relay 是一个 JavaScript 库,由 Facebook 开发,比较多的用在 React 开发中,在 React 开发时,可以使用 Relay 去对 GraphQL 进行增删改查,非常方便。

Relay 具有三个模块:

  • Compiler:编译器,负责分析、验证、优化
  • Runtime:GraphQL 的运行环境
  • Relay/React:Relay 与 React 集成在一起

Apifox

根据官方的介绍,Apifox 是这样的一款工具

  • 集成了API 文档、API 调试、API Mock、API 自动化测试 API 一体化协作平台
  • 拥有更先进的 API 设计/开发/测试工具
  • Apifox = Postman + Swagger + Mock + JMeter

我用了一圈下来,发现 Apifox 的功能确实很多

  • 支持接口文档、在线接口文档分享
  • 支持本地 Mock、云端 Mock 功能
  • 支持 自动化测试,包括测试用例、测试套件功能
  • 支持中文显示,且免费使用
  • 支持可视化校验、可视化数据库连接
  • 拥有 IDEA 插件 Apifox Helper
  • 拥有命令行工具 apifox-cli,可以使用命令行运行测试用例

Apollo

Apollo 是一个 JavaScript 的状态管理库,类似于 redux、vuex 这类,Apollo 能让你轻松调用 GraphQL 的查询 API ,并将数据渲染并高效构建UI 组件上。

Apollo 的特性主要有:

  • 声明式的使用,数据检索、加载、上传 UI 的逻辑都包含在一个查询中

  • 对 React 很友好,充分利用 React 新特性

  • 可以放到 JavaScript 应用中使用,适应性很强

  • 可以和任意一种 GraphQL API 一起用,兼容性很强

  • GraphQL 和 Apollo 是什么 

Hasura

Hasura 是一款 GraphQL 引擎,性能非常高,主要是为Postgres 数据库提供  GraphQL API

Hasura 还具备以下特点:

  • 实时查询非常出色,实时性很强
  • 使用方便,开箱即用
  • Hasura 具有内置的过滤、分页、模式搜索、批量插入、更新、删除突变等功能,查询功能非常出色
  • 更新迭代很快,每次都有新功能

URQL

Foemidable 实验室推出的一款 GraphQL 客户端,比较贴近 React hook,非常轻量。

它具有以下几个特点:

  • 轻量,性能好
  • 支持自定义配置
  • 开箱即用

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1358082.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图像分割-Grabcut法

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 本文的C#版本请访问:图像分割-Grabcut法(C#)-CSDN博客 GrabCut是一种基于图像分割的技术,它可以用于将图像…

vue中key的用法

加key是提升vue渲染效率,减少DOM操作。 vue列表元素的更新机制: 当列表元素没有设置key的时候,vue判断是否操作这个DOM元素,是根据新旧两次数据的元素顺序进行对比,看一下元素内容是否发生变化。发生变化vue就操作这个…

关于Python里xlwings库对Excel表格的操作(二十八)

这篇小笔记主要记录如何【如何使用“Chart类”和“Api类"为新图表设置标题文本内容、字体、字号、粗细、正斜、颜色】。 前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。【目录部分内容如下】【点击此处可进入目录】 (1)如何…

大数据Doris(四十六):物化视图查询改写和适用场景

文章目录 物化视图查询改写和适用场景 一、查询改写

移动神器RAX3000M路由器不刷固件变身家庭云之六(高级应用):设置https

本系列文章: 移动神器RAX3000M路由器变身家庭云之一:开通SSH,安装新软件包 移动神器RAX3000M路由器变身家庭云之二:安装vsftpd 移动神器RAX3000M路由器变身家庭云之三:外网访问家庭云 移动神器RAX3000M路由器变身家庭云…

c# 学习笔记 - 枚举

文章目录 1. 枚举1.1 枚举结构梳理1.2 枚举完整代码1.3 枚举知识点补充 2. 迭代两种命名空间接口3. yield语句 1. 枚举 1.1 枚举结构梳理 结构图   上图内容可能依旧不通俗易懂,这里使用最简明的话语告诉大家实现方式. foreach语句就是集合的遍历操作&#xff0c…

彻底弄懂MySQL事务隔离级别

并发事务中存在以下 3 个问题。 1 脏读 指的是读到了其他事务未提交的数据,未提交意味着这些数据可能会保存到数据库,也可能会回滚,不保存到数据库。当这个数据发生了回滚,就意味着读到的这个数据不存在,这就是脏读! 2 不可重复读 在同一个事务中,同一个查询在不同的…

Spring Cloud Alibaba 介绍与版本映射关系

目录 前言 一、Spring Cloud Alibaba 是什么? 二、Spring Cloud Alibaba 版本依赖 前言 Spring Cloud 本身并不是一个拿来即可用的框架,它是一套微服务规范,这套规范共有两代实现。 (子项目): ● 第一代实现: Spr…

yolov5旋转目标检测-遥感图像检测-无人机旋转目标检测(附代码和原理)

目前,无人机技术的快速发展带来了遥感图像处理领域的革命性改变。然而,由于无人机在飞行时可能会出现旋转的情况,因此对于旋转目标的检测也成为了一个重要的问题。针对这个问题,yolov5可以提供一种高效的解决方案。 以下是介绍的分…

SSCI及SCI撰写|查找文献doi的八大方法

一、前言 (一)文献DOI概念介绍 DOI(Digital Object Identifier)是一种用于标识数字对象的持久性标识符系统。在学术出版领域,DOI通常用于标识和定位学术文献,包括期刊文章、会议论文、报告等。以下是 DOI 的一些重要特点和介绍&a…

法二(命令行):YOLOv5打包.exe

0 准备工作 yolov5环境配置完毕安装pyinstaller,命令为 pip install pyinstallerps: 为了避免可能的错误,所有操作请在英文路径下进行。 1 修改detect_qt5.py或者相关文件 如果是使用我的检测界面的,应该是修改detect_qt5.py这个文件&#x…

HTTP和TCP代理原理及实现,主要是理解

Web 代理是一种存在于网络中间的实体,提供各式各样的功能。现代网络系统中,Web 代理无处不在。我之前有关 HTTP 的博文中,多次提到了代理对 HTTP 请求及响应的影响。今天这篇文章,我打算谈谈 HTTP 代理本身的一些原理,…

springboot中引入AOP切面编程

在Spring Boot 3.0中引入AOP的过程如下所示&#xff1a; 1、首先&#xff0c;确保已经添加了相关依赖。可以通过Maven或Gradle来管理项目的依赖。对于使用Maven构建的项目&#xff0c;需要将以下依赖添加到pom.xml文件中 <dependency><groupId>org.springframewo…

Optional 优雅判空

文章目录 可以解决的问题API介绍Optional(T value),empty(),of(T value),ofNullable(T value)orElse(T other)&#xff0c;orElseGet(Supplier<? extends T> other)和orElseThrow(Supplier<? extends X> exceptionSupplier)map(Function<? super T, ? exten…

Linux第8步_USB设置

学习完设置“虚拟机的电源”后&#xff0c;接着学习通过鼠标点击操作U盘&#xff0c;目的是了解USB设置。 1、在桌面&#xff0c;双击“VMware Workstation Pro”图标&#xff0c;得到下图&#xff1a; 2、点击“编辑虚拟机”&#xff0c;得到下图&#xff1a; 只要点击编辑虚…

03 decision tree(决策树)

一、decision tree&#xff08;决策树&#xff09; 1. classification problems&#xff08;纯度&#xff09; i . entropy &#xff08;熵&#xff09; ​ 作用&#xff1a;衡量一组数据的纯度是否很纯 &#xff0c;当五五开时他的熵都是最高的&#xff0c;当全是或者都不是…

【数据结构】——期末复习题库(6)

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

【bug】【VSCode】远程终端TERMINAL打不开

【bug】【VSCode】远程终端TERMINAL打不开 可能的原因现象分析解决 可能的原因 昨天晚上vscode在打开多个TERMINAL的情况下&#xff0c;挂了一晚上&#xff0c;今早上来看的时候全都lost connections…。然后关闭再打开就出现了如上现象。 早上一来到实验室就要debug… 现象…

金蝶Apusic应用服务器 loadTree JNDI注入漏洞

产品介绍 金蝶Apusic是一款企业级应用服务器&#xff0c;支持Java EE技术&#xff0c;适用于各种商业环境。 漏洞概述 由于金蝶Apusic应用服务器权限验证不当&#xff0c;使用较低JDK版本&#xff0c;导致攻击者可以向loadTree接口执行JNDI注入&#xff0c;远程加载恶意类&a…

计算机Java项目|Springboot+vue 学生心理咨询评估系统

作者主页&#xff1a;编程指南针 作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容&#xff1a;Java项目、Python项目、前端项目、人工智能与大数据、简…