Interfaces are similar to Unions in that they provide a mechanism for dealing with different types of data. However, an interface is more suited for data types that include many of the same fields. In this lesson, we will query different types of pet…
As we start building out more complex GraphQL schemas, certain fields start to repeat across different types. This is a perfect use-case for the Interface Type made available to us through GraphQL’s Type System. In this video, we’ll go over how to cr…
前言   GraphQL 是一种用于 API 的查询语言,是由 Facebook 开源的一种用于提供数据查询服务的抽象框架.在服务端 API 开发中,很多时候定义一个接口返回的数据相对固定,因此要获得更多信息或者只想得到某部分信息时,基于 RESTful API 的接口就显得不那么灵活.而 GraphQL 对 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得它需要的数据,而且没有任何冗余,也让 API 更容易地随着时间推移而演进,还能用于构建强大的开发者工具.   目前,L…
概述 REST作为一种现代网络应用非常流行的软件架构风格受到广大WEB开发者的喜爱,在目前软件架构设计模式中随处可见REST的身影,但是随着REST的流行与发展,它的一个最大的缺点开始暴露出来: 在很多时候客户端需要的数据往往在不同的地方具有相似性,但却又不尽相同. 如同样的用户信息,在有的场景下前端只需要用户的简要信息(名称.头像),在其他场景下又需要用户的详细信息.当这样的相似但又不同的地方多的时候,就需要开发更多的接口来满足前端的需要. 随着这样的场景越来越多,接口越来越多,文档越来越臃肿…
go version go1.11 windows/amd64 本文为阅读Go语言中文官网的规则说明书(https://golang.google.cn/ref/spec)而做的笔记,介绍Go语言的 接口类型(Interface types). 接口类型应该是从软件设计上考虑才接入的类型,它本身不实现任何功能,但会 声明 一些功能. 在Go语言中,任何 实现 了接口类型中 声明 的功能的类型,都可以成为 实现了 某接口. 比如,声明一个 汽车接口,里面包含若干方法,任何实现了这个 汽车接口 的的…
Unions are used when we want a GraphQL field or list to handle multiple types of data. With a Union Type, we can define a field that could resolve completely different types of data. In this lesson, we will write a query that obtains a list of differ…
In GraphQL, every field and nested object is able to take in arguments of varying types in order to do common operations like fetching an object by it's ID, filtering, sorting, and more. In this video, we'll update a field to take in an id argument a…
To query a GraphQL API, all you need to do is send an HTTP request that includes the query operation in the body of the request. In this lesson, we will use the browser’s fetch method to request the total days skied from our GraphQL API. const query…
In this lesson, you will learn how to query local and remote data in Apollo Link State in the same component. We'll set the @client decorator on the local client State variable and set an empty Query object to get this done. Query cache data: TO quer…
Sometimes, you want to resues object type when doing mutation, you can use 'input' type to help: input MessageInput { content: String author: String } type Message { id: ID! content: String author: String } type Query { getMessage(id: ID!): Message }…
Multiple options to integrate the Palo Alto Firewall into your: Network Layer 2 interfaces and VLAN interfaces Layer 3 interfaces Tap interfaces Loopback and tunnel interfaces HA interfaces Type 1 - Layer 2 interfaces: Allows a Trunk interface to tra…
We can create the most basic components of our GraphQL Schema using GraphQL's Object Types. These types allow us to group related fields together under a specific type, such as a Video or a User, and then allows us to fetch these types when we query…
系列导航 使用Hot Chocolate和.NET 6构建GraphQL应用文章索引 需求 在本文中,我们通过一个简单的例子来看一下如何实现一个最简单的GraphQL的接口. 实现 引入Hot Chocolate依赖包 由于我打算将GraphQL的相关逻辑放到Applicaiton层,并在Application和Api项目中使用,所以在该项目中引入以下依赖包 # Hot Chocolate在.NET Web应用中使用的主要Nuget包 HotChocolate.AspNetCore # Hot…
A few years ago, I managed a team at DocuSign that was tasked with re-writing the main DocuSign web app which was used by tens of millions of users. The APIs didn’t exist yet to support our new shiny front-end app because since the beginning the web…
Fragments are selection sets that can be used across multiple queries. They allow you to refactor redundant selection sets, and they are essential when querying unions or interface types. In this lesson, we will improve our query logic by creating a…
我们知道 GraphQL 使用 Schema 来描述数据,并通过制定和实现 GraphQL 规范 定义了支持 Schema 查询的 DSQL (Domain Specific Query Language,领域特定查询语言).Schema 帮助将复杂的业务模型数据抽象拆分成细粒度的基础数据结构,而 DSQL 的实现则赋予了前端开发者自由组织和定制请求数据的能力.如果以一张图来表示的话,可以将 GraphQL 看做一条以 通用基础业务数据模型 为基础.将传统后端服务和前端页面紧密且自由地联系在一起…
Writing out a GraphQL Schema in the common GraphQL Language can work for simple GraphQL Schemas, but as our application grows, or when we start using more complex types like interfaces or unions, we find that we can’t use a GraphQL Language file in t…
ASP.NET Core中使用GraphQL ASP.NET Core中使用GraphQL - 第一章 Hello World ASP.NET Core中使用GraphQL - 第二章 中间件 ASP.NET Core中使用GraphQL - 第三章 依赖注入 ASP.NET Core中使用GraphQL - 第四章 GrahpiQL ASP.NET Core中使用GraphQL - 第五章 字段, 参数, 变量 本篇中我将演示如何配置持久化仓储,这里原文中是使用的Postgres, 这里我改用…
从去年开始,JS算是完全踏入ES6时代.在React相关项目中接触到了一些ES6的语法.这次接着GraphQL这种新型的接口风格,从后端的角度接触ES6. 这篇文章从ES6的特征讲起,打好语法基础:然后引用GraphQL的规范说明:最后实验性质地在node环境下实践GraphQL这种接口风格,作为接下来重构接口工作的起点. ES6 GraphQL Node ES6语法环境 搭建GraphQL Server ES6 ES6也就是ECMAScript2015于2015年6月正式发布,这是最新的Jav…
转自官方文档 In the last article, we discussed the ins and outs of remote (executable) schemas. These remote schemas are the foundation for a set of tools and techniques referred to as schema stitching. Schema stitching is a brand new topic in the GraphQL…
基本用法 GraphQL概述 GraphQL基本语法特性 GraphQL类型系统 GraphQL类型系统内置基础类型 GraphQL类型系统内置修饰符 GraphQL工作原理 GraphQL执行过程 Vue工程接入GraphQL 基本用法(如何去用) package.json "dependencies": { "apollo-server-koa": "^1.3.6", "graphql": "^0.13.2&qu…
Why GraphQL? 6个问题 GraphQL, 是一个API的标准: specification. 对于每个新技术, 要搞清楚的6个问题: 1.这个技术出现的背景, 初衷, 要达到什么样的目标或是要解决什么样的问题. 2.这个技术的优势和劣势分别是什么, 或者说, 这个技术的trade-off是什么. 3.这个技术使用的场景. 4.技术的组成部分和关键点. 5.技术的底层原理和关键实现. 6.已有的实现和它之间的对比. 1.这个技术出现的背景, 初衷, 要达到什么样的目标或是要解决什么样的…
Introduction to GraphQL  GraphQL介绍 Learn about GraphQL, how it works, and how to use it in this series of articles. Looking for documentation on how to build a GraphQL service? There are libraries to help you implement GraphQL in many different langu…
https://kadira.io/blog/graphql/initial-impression-on-relay-and-graphql http://graphql.org/blog/subscriptions-in-graphql-and-relay/ Facebook recently made GraphQL and Relay open source, so now we can try them out. These are the two main components in…
前言 你是否已经厌倦了REST风格的API? 让我们来聊一下GraphQL. GraphQL提供了一种声明式的方式从服务器拉取数据.你可以从GraphQL官网中了解到GraphQL的所有优点.在这一系列博客中,我将展示如何在ASP.NET Core中集成GraphQL, 并使用GraphQL作为你的API查询语言. 使用GraphQL的声明式查询,你可以自定义API返回的属性列表.这与REST API中每个API只返回固定字段不同. 安装GraphQL 为了在C#中使用GraphQL, Grap…
GraphQL 官方描述: GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时. GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得它需要的数据,而且没有任何冗余,也让 API 更容易地随着时间推移而演进,还能用于构建强大的开发者工具. 优点 GraphQL可以让我们通过请求控制返回的字段,以此来减少restful api的设计理念带来的请求多次的问题. 比如我们要获取指定id的文章相关信息,包括标题.作者.发布时间以及前两…
什么是GraphQL GraphQL 是一种面向 API 的查询语言.在互联网早期,需求都以 Web 为主,那时候数据和业务需求都不复杂,所以用 RestAPI 的方式完全可以满足需求.但是随着互联网的发展,数据量增大,业务需求多变.还有各种客户端需要接口适配,基于 RestAPI 的方式,显得越来呆板,因此 GraphQL 便应运而生.它至少可以提供以下三个方面的优势 GraphQL 提供更方便的 API 查询 不同的客户端有时候需要返回的数据格式不同,之前使用 RestAPI 的方式,需要后…
转自: https://tomasalabes.me/blog/nodejs/graphql/2018/07/11/modularizing-graphql.html Modularizing your graphQL schemas Working in a kinda big graphql server, schemas can easily get out of hand with all the types, inputs, queries, mutations, subscripti…
  graphql 是一个很不错的api 查询标准语言,已经有一个lua 的版本支持graphql 项目使用docker&&docker-compose 运行 环境准备 模块安装 luarocks install graphql docker镜像准备 模块使用luarocks 安装,默认alpine 镜像是没有安装这个包,我们使用alpine-fat的 FROM openresty/openresty:alpine-fat RUN /usr/local/openresty/luajit/b…
预备环境: 下载stardog 软件包 graphql 查询地址 创建一个简单数据库 ./stardog-admin db create -nstarwars graphql 查询方式 http 地址: http://localhost:5820/starwars/graphql 或者命令行: ./stardog graphql starwars "{ Human { name }}" curl -G -vsku admin:admin --data-urlencode query=&…