首页
学习
活动
专区
圈层
工具
发布

【译】如何在 Node.js 中创建安全的 GraphQL API

原文地址:How to Create a Secure Node.js GraphQL API 作者:Marcos 本文的目的是提供一份快速指南 -- 《如何快速在如何在 Node.js 中创建安全的...这篇文章还展示了如何使用 Node.js 和 Express 来开发 REST API 框架,你可以在这两种方法中找出一些差异。...本文的所有示例可以在这个链接中获得:https://github.com/makinhs/node-graphql-tutorial 我们将会处理两种类型的资源(两个集合): Users:用来展示如何进行基本的...'; import { makeExecutableSchema } from 'graphql-tools'; 下一步是在 Express 中处理我们的应用逻辑和基本的 GraphQL 配置,例如:...; 创建模块 (Module) 的基本方法; 测试我们的 GraphQL API; 为了将内容侧重于开发使用,本文忽略了开发中一些重要的内容,简单总结如下: 新增内容时需要校验 对服务中的错误进行正确处理

3.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Stream API数据流操作:什么是Stream API?如何在JDK 8中实现链式数据处理?

    Stream API数据流操作:什么是Stream API?如何在JDK 8中实现链式数据处理? 引言 JDK 8引入了Stream API,极大地简化了对集合数据的处理。...通过Stream API,你可以实现链式数据操作,包括过滤、映射、聚合等功能,使代码更加简洁优雅。在本篇文章中,猫头虎将详细解析: 什么是Stream API?...Stream API的核心操作:中间操作与终端操作 如何实现链式数据处理? 学会Stream API,让你的集合操作如流水般顺畅!...中间操作(如filter、map)对流进行处理,返回新的Stream。 终端操作(如collect、forEach)结束流操作并返回结果。 实战:如何在JDK 8中实现链式数据处理?...随着Java版本的升级,Stream在性能优化和并行处理方面表现更加强大。 掌握Stream API,轻松实现链式数据处理

    84610

    004微信小程序云开发API数据库-插入记录-删除记录-更新记录

    在微信小程序云开发API数据库中,我们可以插入新的记录,以便存储和管理相关的数据。本文将通过案例和代码的方式,详细介绍微信小程序云开发API数据库的插入记录方法。...insert() 方法返回一个 Promise 对象,我们可以使用 then() 方法处理插入结果。在案例中,我们将插入结果输出到控制台。...在微信小程序云开发API数据库中,我们可以删除不再需要的记录,以便释放存储空间和优化数据库结构。本文将通过案例和代码的方式,详细介绍微信小程序云开发API数据库的删除记录方法。...在微信小程序云开发API数据库中,我们可以更新已经存在的记录,以便保持数据的实时性和准确性。本文将通过案例和代码的方式,详细介绍微信小程序云开发API数据库的更新记录方法。...在这个案例中,我们使用 $set 操作符来更新指定字段的值。update() 方法返回一个 Promise 对象,我们可以使用 then() 方法处理更新结果。在案例中,我们将更新结果输出到控制台。

    1.2K10

    IDEA Web渲染插件开发(二)— 自定义JsDialog

    《IDEA Web渲染插件开发(一)》中,我们了解到了如何编写一款用于显示网页的插件,所需要的核心知识点就是IDEA插件开发和JCEF,在本文中,我们将继续插件的开发,为该插件的JS Dialog显示进行自定义处理...背景 在开发之前,我们首先要了解下什么是JS Dialog。...有过Web页面开发经历的开发者都或多或少使用过这样一个JS的API:alert('this is a message'),当JS页面执行这段脚本的时候,在浏览器上会有类似于如下的显示: 同样,当我们使用...设置suppress_message为true并使该方法返回false来抑制这个消息(抑制消息比立即执行回调更可取,因为它用于检测可能的恶意行为,如onbeforeunload中的垃圾邮件警报消息)。...重新运行,查看AlertDialog的效果: 接下来,我们需要编写ConfirmDialog,来处理JS中的confirm。

    1.7K10

    css模块化及CSS Modules使用详解

    另一类是依旧使用 CSS,但使用 JS 来管理样式依赖,代表是 CSS Modules。CSS Modules 能最大化地结合现有 CSS 生态和 JS 模块化能力,API 简洁到几乎零学习成本。...无法共享变量 复杂组件要使用 JS 和 CSS 来共同处理样式,就会造成有些变量在 JS 和 CSS 中冗余,Sass/PostCSS/CSS 等都不提供跨 JS 和 CSS 共享变量这种能力。...BEM 把样式名分为 3 个级别,分别是: Block:对应模块名,如 Dialog Element:对应模块中的节点名 Confirm Button Modifier:对应节点相关的状态,如 disabled...下面演示如何在 JS 中读取 Sass 变量: /* config.scss */ $primary-color: #f40; :export { primaryColor: $primary-color...如 // dialog.js return dialog-root'> <a className={styles.disabledConfirm

    7.4K100

    在前端如何玩转 Word 文档

    在日常工作中,大部分人都会使用 Microsoft Office Word、WPS 或 macOS Pages 等文字处理程序进行 Word 文档处理。...文档; 如何在浏览器中处理 ZIP 文档; 如何将 Word 文档转换成 Markdown 文档; 如何在前端动态生成 Word 文档。...这将忽略文档中的所有格式。每个段落后跟两个换行符。 介绍完 Mammoth.js 相关的特性和 API,接下来我们开始进入实战环节。...在 Mammoth.js 中要实现上述的功能,可以使用 「convertImage」 配置选项来自定义图片处理器。...下面我们将以 docx 为例,来介绍如何在前端如何生成 「.docx」 格式的 Word 文档。Docx 这个库提供了优雅的声明式 API,让我们可以使用 JS/TS 轻松生成 .docx 文件。

    6.3K30

    Webpack 5 Module Federation: JavaScript 架构的变革者

    这是我发明并且赋予它最初形态的 JavaScript 架构,在我的联合创作者兼 Webpack 创始人的帮助下,它成为了 Webpack 5 Core 中最令人兴奋的功能之一(Webpack 5 有一堆很酷的东西,新的 API...术语 Module federation: 与 Apollo GraphQL federation 的想法相同 —— 但适用于在浏览器或者 Node.js 中运行的 JavaScript 模块。...不过,如果你要刷新页面,则任何在之后的 load 中率先启动的应用,都将成为一个 host。...这样的话你就可以用同样的代码,外加不一样的 Webpack 配置来在 Node.js 中实现 SSR. Module Federation 的特性在 Node.js 中保持不变,如独立构建、独立部署。...不过我已经 fork Next.js,并设法升级它以支持 Webpack 5 了!这项工作仍在进行中,还有一些开发模式下的中间件需要完成。

    2.1K30
    领券