过去几年中,GraphQL 已经成为一种非常流行的 API 规范,该规范专注于使客户端(无论是客户端、前端还是第三方)的数据获取更加容易。
在实践微服务系列博客的这一篇中,我们将看看如何使用GraphQL将Account对象提供给我们的客户端。
原英文: https://blog.apollographql.com/securing-your-graphql-api-from-malicious-queries-16130a324a6b
云原生(Cloud Native)Node JS Express Reactive 微服务模板 (REST/GraphQL) 这个项目提供了完整的基于 Node JS / Typescript 的微服务模板,包括生产部署、监控、调试、日志记录、安全、CI/CD 所需的所有功能。还添加了基于响应性扩展的示例,以演示如何将其用于构建微服务 API 边缘服务(edge-service)、前端的后端(BFF)或将其用作构建任何类型微服务的基础。
Coursera 的客户端开发人员钟情于 GraphQL 的灵活性,类型安全性和良好的社区支持,我们对 GraphQL 的喜爱众~所~周~知。然而,我们并没有过多讨论后端开发人员是如何看待 GraphQL 的,因为他们大多数实际上并不需要考虑 GraphQL。
作者 | Nitesh Kumar 译者 | 张卫滨 策划 | Tina API 对于组织来讲正变得越来越重要,但是,构建安全、可扩展的 API 并非易事。本文从执行环境、API 技术、安全性等角度出发,介绍了如何构建高效、可扩展的 API。 本文最初发表于 Salesforce 站点,经作者 Nitesh Kumar 授权,由 InfoQ 中文站翻译分享。 API 是一个重要的工具,允许合作伙伴、开发人员和其他应用消费我们提供的微服务,与之进行通信,并基于此构建各种各样的功能。 高质量的 AP
GraphQL是一种查询语言、一种执行引擎和一种规范,它引领开发人员重新思考应该怎样去构建客户端和API。
Graphql 是一种查询语言、一个执行引擎和一个规范,它引导开发人员重新思考如何构建客户端和 API 应用程序
Web应用在防火墙内部运行,它们通过高带宽、低延迟的局域网访问服务。其他客户端在防火墙之外运行,通过较低带宽、较高延迟的互联网或移动网路访问。
作者 | Marc-André Giroux 本文最初发布于 Marc-André Giroux 博客,由 InfoQ 中文站翻译并分享。 这个话题昨天在推特上爆发了,我想应该用更长的篇幅回顾一下作者的一些观点,澄清一些误解,我们一个个过一遍。 【推文 1 】GraphQL 使你的公共 API 等同于一个通用数据库,更糟糕的是——一个通用图形数据库,维护工作量高得惊人;锁定查询功能意味着你只是在运行普通的 API,但不锁定它意味着无限的性能工作。 (https://twitter.com/jmhodges
GraphQL 是用于客户端与服务器通信的语言规范。它有多种语言的实现,可以在广泛的环境中使用。https://graphql.org/code/
StackPath最近发布了新的门户网站,它让用户可以一站式地配置我们所提供的服务(CDN,WAF, DNS以及Monitoring)。这个项目涉及到整合不同的数据源,以及一些现有和全新的系统。虽然我们认为开发效率的优先级在一个新启动的项目中是最高的,但我们还是希望在保证足够快的开发进度的前提下,尽可能早地做一些能够保证产品长期稳定运行的技术投资,以便我们能够持续不断地在一个健壮的基础设施上添加新的功能特性。最终我们选择了Apollo GraphQL+gRPC+React+TypeScript这样一套技术栈,并对使用它们的结果感到满意。在这篇博客中,我们会解释为何选择这些技术栈,并通过一个简单的示例项目进行论述。
作者 | Khalil Stemmler 策划 | 田晓旭 在服务器上使用 GraphQL 代替 REST 是有很多好处的,使用 Apollo Client 取代自己编写的数据获取逻辑也有很多优势。在这篇文章中,我们主要讨论 GraphQL 最突出的架构优势。 本文最初发布于 khalilstemmler.com 网站,经原作者授权由 InfoQ 中文站翻译并分享。 在过去的几年中,我们已经看到各种规模和形态的公司都开始在整个组织中逐渐采用 GraphQL,例如 Expedia、Nerdwallet 和 A
微服务架构是一种将应用程序构建为一组小服务的方法,每个服务运行在其自己的进程中,并通过轻量级机制(通常是HTTP资源API)进行通信。这些服务围绕业务能力构建,可以独立部署,由完全自治的团队维护。在我们深入构建微服务的过程之前,了解 GraphQL 在此架构中的作用非常重要。
技术公司采用微服务架构已经十多年了,结果好坏参半。微服务之间的依赖关系导致在修改一个服务时也需要修改其他服务,微服务的优势因此打了折扣。这就是所谓的紧密耦合。但组件之间的依赖关系是不可避免的。
接上一篇文章,上一篇通过 express 作为 GraphQL Server 介绍了一下 GraphQL,今天说一下如何使用 Apollo Server 作为 GraphQL服务器。
GraphQL经过近几年的发展,SpringBoot官方、第三方都提供了starter
Nav Inc.已经创建了一个开源模式定义和代码生成器,它使用GraphQL语法来定义事件和消息格式。选择GraphQL是因为它的表达能力和对开发人员的熟悉程度;Nav模式体系结构(NSA)不使用GraphQL runtime。
在欧洲开源峰会上,Linus Torvalds 宣布,他将在当天(在内核维护者峰会上)推动 Rust 进入即将推出的 6.1 Linux 内核。
我认为,GraphQL 将改变世界。将来,你可以使用 GraphQL 查询世界上的任何系统。我在创造这样的未来。那么我为什么要对使用 GraphQL 进行辩驳呢?我个人最讨厌的是,社区一直在宣传 GraphQL 的好处,而这些好处却非常普通,并且与 GraphQL 实际上没有任何关系。如果我们想推广采用,那么我们应该诚实,应该摘掉有色眼镜。这篇文章是对 Kyle Schrade 的文章“为什么使用 GraphQL”的回应。这并不是批评。这篇文章是一个很好的讨论基础,因为它代表了我在社区中经常听到的观点。如果你读了整篇文章,当然这会花一些时间,你就会完全理解,为什么我认为 Kyle 的文章应该改名为“为什么使用 Apollo”。
Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。
Pub/Sub 模式是一种发布-订阅模式,其中一个组件(发布者)发布消息,而其他组件(订阅者)监听并接收这些消息。在 GraphQL 中,可以使用 Pub/Sub 模式来实现实时数据更新,使服务器能够向客户端推送数据变更。
http://mpvideo.qpic.cn/0bc35aaboaaa6aad7dvoqrqvb2gdc7uaafya.f10002.mp4?dis_k=400a1a4fe697fbc8cb7a97b
爬虫是按照一定规则,自动地提取并保存网页中信息的程序。通过向网站发起请求获取资源,提取其中有用的信息。爬虫在获取信息、整理数据等方面应用广泛。
英国卫报创建了一个讨论和资产共享工具 Pinboard ,并将其整合到公司使用的各种内容管理平台中。该解决方案使用了一系列技术,包括用于编写业务逻辑的 Typescript、用于执行代码的无服务器服务、API 端点和 GraphQL 服务器,以及用于存储的 AWS RDS(PostgreSQL)。
GraphQL 日渐成为数据查询的主流标准之一。每天都会产生许多围绕这项技术发展的精彩讨论和新工具。GraphQL最棒的特性就是提供了一个丰富语言集来描述获取数据的API。但是用户该如何描述这种查询语言,以及GraphQL这项核心技术本身呢?let's talk!
接上一篇文章,由于 express 现在仍然是主流的 Node.js 服务端框架,所以今天看看 ApolloServer 怎样和 express 集成构建 GraphQL 服务。另外今天文章也顺便讲一下怎么使用 typescript 来实现。
考虑到国内大部分场景对接的是Mybatis或者Mybatis Plus生态,而不是JPA,同时Graphql版本也进一步迭代,故计划使用Mybatis Plus对接Graphql
如上所示的HTML页面通常由三部分构成,分别是用来承载内容的Tag(标签)、负责渲染页面的CSS(层叠样式表)以及控制交互式行为的JavaScript。通常,我们可以在浏览器的右键菜单中通过“查看网页源代码”的方式获取网页的代码并了解页面的结构;当然,我们也可以通过浏览器提供的开发人员工具来了解更多的信息。
GraphQL 是 Facebook 开发的一种 API 的查询语言,与 2015 年公开发布,是 REST API 的替代品。
通过JPA或者Mybatis Plus集成Graphql框架已经很简便,但其实使用graphql-java集成过于底层,很多扩展内容实现并不方便,例如:
本文首先介绍了 GraphQL,再通过 MongoDB + graphql + graph-pack 的组合实战应用 GraphQL,详细阐述如何使用 GraphQL 来进行增删改查和数据订阅推送,并附有使用示例,边用边学印象深刻~
在过去的将近半年的时间里,作者一直在使用 GraphQL 这门相对新兴的技术开发 Web 服务,与更早出现的 SOAP 和 REST 相比,GraphQL 其实提供的是一套相对完善的查询语言,而不是类似 REST 的设计规范,所以需要语言的生态提供相应的框架支持,但是由于从它开源至今也只有两三年的时间,所以在使用的过程中,尤其是在微服务架构中实践时确实还会遇到很多问题。
最近,GraphQL 在构建后端 API 方面获得越来越多大公司的青睐, 如 PayPal、Facebook、Hasura、去哪儿等公司都做了大量实践。
Rust 是一门神奇的编程语言,有非常好的 CLI 工具,比如 ripgrep 和 exa。像 Cloudflare 这样的公司正在使用并鼓励人们写 Rust 来运行微服务。Rust 编写的软件可能比 C++ 或 C 更安全、更小、更简洁。
编者按:本文作者奇舞团前端开发工程师何文力,同时也是 W3C CSS 工作组成员。
今天在做项目时遇到了一个有关参数解析 HandlerMethodArgumentResolver 的使用疑惑。因此去 百度学习了一下,现在记录一下。
访问http://localhost:8080/graphiql即可看到在线查询页面
前言 Flask-RESTX 的整个请求解析器部分将被删除,并将被有关如何与其他可以更好地执行输入/输出内容的包(例如 marshmallow)集成的文档所取代。 这意味着它将保持到 2.0,但认为它已被弃用。不用担心,如果您现在有代码使用它并希望继续这样做,它不会很快消失。 reqparse 解析请求参数 这是请求解析器的一个简单示例。它在flask.Request.values字典中查找两个参数:一个整数和一个字符串 from flask_restx import reqparse parser =
今天最常讨论的术语之一是 API,很多人不知道 API 到底是什么,API 是 Application Programming Interface(应用程序编程接口)。顾名思义,它是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
这篇稿子断断续续写了有两周,期间还在公司做了一次 “A Tour to API Evolution” 的讲座,基本上就是把中文的稿子转译了一下。我之所以要研究这样一个主题,是想从 API 的历史中找到未来前进的方向,毕竟「读史使人明智,知古可以鉴今」。
大概率你听说过 GraphQL,知道它是一种与 Rest API 架构属于 API 接口的查询语言。但大概率你也与我一样没有尝试过 GraphQL。
node app.js => open 'http://localhost:3010/graphql'
Web 浏览器无疑是用户访问互联网最常见的入口。浏览器凭借其免安装和跨平台等优势,逐渐取代了很多传统的富客户端。
近日,其发布了 v0.9 版本,修改了很多面向开发者的 API,同时也优化了命令行参数解析上的用户体验。
打开注册登录后有个向admin机器人发送指令的功能,简单抓包分析下后发现向admin机器人发送的指令用了websocket连接,同时发现其未对origin头进行验证,存在websocket劫持(和CSRF类似),有关websocket劫持的利用可以参考
我自己的经验 如果项目要求支持低版本的 IE 的话(比如 IE7,8),就用较传统的jQuery,Bootstrap,jQuery插件/组件以及类似 Knockout.js 能够提供数据绑定的 JS 库,再加上 require.js + gulp 或者 fis3 做模块化和自动化构建。 如果不需要支持低版本 IE 的话,我们主要使用 React: React – 编写页面组件 Redux – 数据流和状态管理,一般结合 redux-saga 使用 React-router v4 – 前端路由管理(Note:
前言 接口请求参数的校验是个大的工作量,参数比较少的时候还可以一个个去判断,参数多了写起来就很麻烦了。 reqparse 解析请求参数 尽管 Flask 能够简单地访问请求数据(比如查询字符串或者 POST 表单编码的数据),验证表单数据仍然很痛苦。Flask-RESTful 内置了支持验证请求数据,它使用了一个类似 argparse 的库。 from flask.ext.restful import reqparse parser = reqparse.RequestParser() parser.ad
领取专属 10元无门槛券
手把手带您无忧上云