prisma graphql 工具基本使用】的更多相关文章

项目使用docker-compose mysql 运行 安装 npm insatll -g prisma or yarn global add prisma 创建代码 项目结构 ├── README.md ├── datamodel.graphql ├── docker-compose.yml └── prisma.yml prisma.yml endpoint: http://localhost:4466 datamodel: datamodel.graphql datamodel type…
Prisma   一个 GraphQL  服务器 生产者     "https://www.prisma.io" , 关注一下…
  grandstack 是一个方便graphql 应用开发的工具 使用docker-compose 运行 环境准备 官方的starter 比较好,已经是使用docker-compose 创建好了所有的依赖,但是目前使用的版本镜像有bug,我修改了版本,可以运行 参考github 项目 https://github.com/rongfengliang/grand-stack-starter clone starter git clone https://github.com/grand-stac…
prisma 官方文档说明了因为支持pg 所以相关的timescaledb.cockroachdb 应该也是支持的 但是测试之后timescaledb 支持cockroachdb有问题(事务处理模型支持有问题) 初始化项目 prisma init app 修改docker-compose file version: '3' services: prisma: image: prismagraphql/prisma:1.13 ports: - "4466:4466" environmen…
graphql-modules 是一个新开源的graphql 工具,是基于apollo server 2.0 的扩展库,该团队 认为开发应该是模块化的. 几张来自官方团队的架构图可以参考,方便比较 apollo server 的开发模型 从上图看出,一般的graphql 简单功能我们都是可以很方便的实现的,但是较复杂的应该就... 来自graphql-modules的实践 说明 模块化,方便扩展,很不错的开源扩展方案,后边会写一些简单的demo,方便学习. 参考资料 https://graphq…
安装前提条件: 1.已经安装了docker运行环境 2.以下命令执行记录发生在MackBook环境 3.已经安装了PostgreSQL(我使用的是11版本) 4.Node开发运行环境可以正常工作   首先需要通过Node包管理器安装Prisma工具:   npm install -g prisma   然后,创建并初始化prisma项目:   prisma init prisma-study   ? Set up a new Prisma server or deploy to an exist…
Why GraphQL? 6个问题 GraphQL, 是一个API的标准: specification. 对于每个新技术, 要搞清楚的6个问题: 1.这个技术出现的背景, 初衷, 要达到什么样的目标或是要解决什么样的问题. 2.这个技术的优势和劣势分别是什么, 或者说, 这个技术的trade-off是什么. 3.这个技术使用的场景. 4.技术的组成部分和关键点. 5.技术的底层原理和关键实现. 6.已有的实现和它之间的对比. 1.这个技术出现的背景, 初衷, 要达到什么样的目标或是要解决什么样的…
作用 代码生成 schema 处理 脚手架应用创建 项目管理 安装cli npm install -g graphql-cli 初始化项目(使用.graphqlconfig管理) 以下为demo demo 项目创建 graphql init 添加数据操作(一般名称为database) 使用prisma cli prisma init database 添加database 项目 graphql add-project database 修改配置 .graphqlconfig.yaml proje…
概要 为什么要做 prisma 的反向代理 反向代理示例(by golang) prisma 服务 gateway 服务 整体流程 认证 反向代理 权限 总结 概要 接触 prisma 有段时间了, 期间也使用过其他几种 graphql 接口自动生成的框架. 总的来说, 还是 prisma 生成的接口比较丰富, 使用上也比较方便, 和数据库之间耦合也低. prisma 文档: https://www.prisma.io/docs (写本文时是 1.34 版) 为什么要做 prisma 的反向代理…
prisma 已经支持mongodb了,我们需要做的就是安装新版本的prisma cli,后然初始化项目使用 环境准备 安装cli 注意使用新版本(prisma/1.32.2) 低版本有坑 npm install -g prisma 初始化一个mongodb 的项目 prisma init mongodb-demo ? Set up a new Prisma server or deploy to an existing server? Create new database ? What ki…
patroni 是一个很不错的pg ha 解决方案,graphql-engine 是一个很好的graphql 工具,为了方便使用 参考patroni官方的文档,使用docker-compose 将应用集成在一起,方便进行测试 环境准备 github 代码 https://github.com/rongfengliang/graphql-engine-patroni docker-compose 文件 version: "3" services: patroni_etcd: contai…
graphql 是比 比较方便的工具,但是数据导入也是一个比较重要的工具类似prisma 包含一个seed 的功能,类似docker我们使用mysql 数据库的initdb.d,但是那个基本上就 是添加在初始化的时候执行mutation 操作,一般数据是有限的,而且不是很方便(一般够用了) graphql-cli-load 可以方便的进行批量数据的导入,详细使用可以参考github资料 工具选项 /usr/local/bin/graphql load [--json] [--csv] [--en…
grandstack是一个基于graphql&&react&& apollo&& neo4j 的全栈开发工具. 有篇关于graphql 的5个常见问题的文章,由此引出了grandstack的开发工具 https://blog.grandstack.io/five-common-graphql-problems-and-how-neo4j-graphql-aims-to-solve-them-e9a8999c8d43 5个graphql 已知的问题 Schem…
vulcan 开源工具方便快速开发react graphql meteor 应用 操作环境mac os 安装 meteor 安装(此安装有点慢,可以通过正确上网解决) curl https://install.meteor.com/ | sh 成功界面 clone starer git clone https://github.com/VulcanJS/Vulcan-Starter.git 安装依赖&&运行 安装依赖 yarn 运行 有点慢,还是有点复杂 yarn start 或者使用 m…
  prisma 推出middleware 的目的就是保持resolver 的简洁 作用: 输入参数访问同一个resolver 决定resolver 最终的返回值 在resolver 连中捕获异常以及错误 基本项目 初始化项目 yarn init -y 添加依赖 yarn add graphql-yogo 测试代码 const { GraphQLServer } = require('graphql-yoga') const typeDefs = ` type Query { hello(nam…
graphql-compose 是一个强大的graphql schema 生成工具集 包含以下特性 快速便捷的复杂类型生成 类型仓库,类型可以存储在schemacomposer 存储中 包含flowtype(不太还用),typescript 的类型定义 方便的插件 包含json 以及date 类型 快速的从graphql-tools 迁移 当前支持的插件 mongose elasticsearch aws sdk 参考资料 https://graphql-compose.github.io/ h…
graphql-inspector 是一个方便的graphql 周边工具,可以加速graphql 应该的开发,同时可以帮助我们排查问题 包含以下特性: 进行schema 的比较 文档校验(通过schema) 相似以及重复类型查找 查找破坏性或者危险的变动 查看基于文档的schema 覆盖率 mock 服务 github bot github actions 说明 我们同时也可以将graphql-inspector 做为一个library 使用,方便集成到我们的系统中,是一个很不错的工具 参考资料…
作为一位web开发人员,在使用REST API的时候,是否遇到过这样的问题: 1.调用一个API的时候,总是会返回一些不需要的信息. 2. 对于一个资源的调用,如果想获取到更多的信息,可能需要发送多次请求才能获取. 那么现在是时候了解一下GraphQL了. 一.什么是GraphQL? GraphQL是FaceBook于2012年在内部开发的数据查询语言,在2015年开源,旨在提供RESTful架构的替代方案.根据官网的介绍: GraphQL is a query language for API…
你还在为代码中放入长长的模版字符串所苦恼吗,如下图代码片段: ps:这个是grqphql client在nodejs后端项目的实践,如果你是在前端使用graphql,并使用了webpack,那么这些问题你都不用担心,因为有现成的轮子供你使用,参见相关loader:https://github.com/apollographql/graphql-tag/blob/master/loader.js, 由于项目开发紧张,我们最开始就是采用这图上这种模式,查询语句和业务代码全放在一起,结果是代码阅读和修…
Web API设计其实是一个挺重要的设计话题,许多公司都会有公司层面的Web API设计规范,几乎所有的项目在详细设计阶段都会进行API设计,项目开发后都会有一份API文档供测试和联调.本文尝试根据自己的理解总结一下目前常见的四种API设计风格以及设计考虑点. RPC 这是最常见的方式,RPC说的是本地调用远程的方法,面向的是过程. RPC形式的API组织形态是类和方法,或者说领域和行为. 因此API的命名往往是一个动词,比如GetUserInfo,CreateUser. 因为URI会非常多而且…
PowerBuilder编程新思维3:适配(三层架构与GraphQL) PB在富客户端时代,是一线开发工具.随着网络发展,主流架构演进到三层架构的时代,PB拿不出有力的三层架构,已经明显力不从心,市场份额也江河日下.今天我们来细数一下PB的三层架构方式及其改进方法. PB三层架构方式一:EAServer 这是PB官方首推的三层架构,但是用三句可以总结,无感的体验,无奈的价格,无语的速度. 事实上除了EAServer这个选择,可以自己开发服务端,比如topwiz公司的PBNIServ 使用BPNI…
API设计风格(RRC.REST.GraphQL.服务端驱动) Web API设计其实是一个挺重要的设计话题,许多公司都会有公司层面的Web API设计规范,几乎所有的项目在详细设计阶段都会进行API设计,项目开发后都会有一份API文档供测试和联调.本文尝试根据自己的理解总结一下目前常见的四种API设计风格以及设计考虑点. RPC 这是最常见的方式,RPC说的是本地调用远程的方法,面向的是过程. RPC形式的API组织形态是类和方法,或者说领域和行为. 因此API的命名往往是一个动词,比如Get…
类似的工具比较多,比如prisma .qloo.golang 的gqlgen.apollo-codegen graphql-code-generator 也是一个不错的工具(灵活.模版自定义...) 安装 npm install --save-dev graphql-code-generator graphql Or yarn add -D graphql-code-generator graphql 参考demo 项目初始化 yarn init -y 添加依赖 yarn add --dev g…
原理 实际上就是使用graphql 中的binding,首先基于swagger api 进行schema 生成,后边就是 使用binding 进行graphql 请求api 转换为rest api 请求,目前测试过两个开源的方案: prisma 的graphql-openapi-binding 以及swagger-graphql 类库 步骤 swagger 模型生成graphql schema 使用cli 工具 swagger-to-graphql npm install -g swagger-…
opencrud 是社区团队提出,同时prisma框架就是按照这个标准设计的,里面包含了对于graphql 数据 操作的最佳实践,目前还在完善中,但是设计以及指南覆盖的功能还是比较全的,如果用过 prisma框架的人 应该会感觉非常熟悉,当前基于graphql 的框架工具是越来越多了,这个可以方便的指导我们开发基于graphql 的应用 参考资料 https://www.opencrud.org/        …
  2017年"程序媛和工程狮"绝对不能忽视的编程语言.框架和工具 在过去的一年里,软件开发行业继续大踏步地向前迈进.回顾 2016 年,我们看到了更多新兴的流行语言.框架和工具,它们改变着我们的工作方式,让我们看到更多的可能.但在这个行业,紧随潮流是很难的.所以在每年年底,我们都会给你提供一些建议,它涉及什么是最重要的,以及你在未来一年中应该学习什么. 大趋势 渐进式 Web Apps 在 2016 年里,我们见证了 Progressive Web App 概念的蓬勃兴起.它意味着…
为了介绍使用ASP.NET Core构建GraphQL服务器,本文需要介绍一下GraphQL,其实看官网的文档就行. 什么是GraphQL? GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时. GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得它需要的数据,而且没有任何冗余,也让 API 更容易地随着时间推移而演进,还能用于构建强大的开发者工具. 官网地址:https://graphql.org/ 中文网址(感觉不是官方的…
GraphQL简介 下面是GraphQL的定义: GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时. GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得它需要的数据,而且没有任何冗余,也让 API 更容易地随着时间推移而演进,还能用于构建强大的开发者工具. GraphQL由Facebook开发,始于2012年,2015年公开. GraphQL牛逼之处是它可以让客户端精确的查询它们想要的,不附加额外的东西,这样的话就很容易让…
ASP.NET Core中使用GraphQL ASP.NET Core中使用GraphQL - 第一章 Hello World ASP.NET Core中使用GraphQL - 第二章 中间件 ASP.NET Core中使用GraphQL - 第三章 依赖注入 GraphiQL是一款内置在浏览器中的GraphQL探索工具,这个是开发GraphQL的一个必备工具.它就相当于WebApi中的Swagger, 使用这个工具就可以看到你的GraphQL中所有配置的结构,并可以在浏览器中测试你的query…
记录一个从枯燥学习 GraphQL 的过程,到发现项目 Gitter,模仿项目 Github-Trending-API,最后做一个自己的学习项目 Github-Trending-GraphQL. 一开始我是这样想的,最后我是这样做的,复盘整个学习过程. 准备学习 graphql 是什么? 在之前的项目中我们主要使用 graphql 来做已有接口数据的合并,这个主要处理已有 rest 相关服务接口的情况下,我们做了一个中间数据处理层. 最近在思考团队服务项目开发的时候,因为在开发中如果基于 res…