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

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

原文地址:How to Create a Secure Node.js GraphQL API 作者:Marcos 本文目的是提供一份快速指南 -- 《如何快速在如何在 Node.js 创建安全...这篇文章还展示了如何使用 Node.js 和 Express 来开发 REST API 框架,你可以在这两种方法找出一些差异。...在源文件,你可以使用 TypeScript 来修改所有的内容。 Let’s Code! 首先,确保你 Node.js 版本是最新。撰写本文时,Node.js 当前版本为 10.15.3。...总结与最后想法 即使已经尽量减少篇幅了,这篇文章还是很长,因为包含了许多关于开发 GraphQL Node.js API 基本信息。...请注意,本文中所提到所有标准和建议都不会是一成不变。 这只是许多构建 GraphQL API 方法一种。

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

Node.js RESTful API(上)

"password" : "password3",      "profession" : "clerk",      "id": 3 } } 基于以上数据,我们创建以下 RESTful API...POST JSON 字符串 添加新用户 3 deleteUser DELETE JSON 字符串 删除用户 4 :id GET 空 显示用户详细信息 获取用户列表: 以下代码,我们创建了 RESTful API...访问地址为 http://%s:%s", host, port) }) 接下来执行以下命令: $ node server.js 应用实例,访问地址为 http://0.0.0.0:8081 在浏览器访问...password" : "password3", "profession" : "clerk", "id": 3 } } 添加用户 以下代码,我们创建了 RESTful API...访问地址为 http://%s:%s", host, port) }) 接下来执行以下命令: $ node server.js 应用实例,访问地址为 http://0.0.0.0:8081 在浏览器访问

2.2K30

Node.js RESTful API(下)

显示用户详情 以下代码,我们创建了 RESTful API :id(用户id), 用于读取指定用户详细信息,server.js 文件代码如下所示: var express = require('express...var app = express(); var fs = require("fs"); app.get('/:id', function (req, res) { // 首先我们读取已存在用户...访问地址为 http://%s:%s", host, port) }) 接下来执行以下命令: $ node server.js 应用实例,访问地址为 http://0.0.0.0:8081 在浏览器访问...suresh", "password":"password2", "profession":"librarian", "id":2 } 删除用户 以下代码,我们创建了 RESTful API...deleteUser, 用于删除指定用户详细信息,以下实例,用户 id 为 2,server.js 文件代码如下所示: var express = require('express'); var

1.9K20

Node.js api 设计源头:POSIX

如果你用过 linux 命令或者 c 函数库,你会发现这些 api 在命令和 c 函数库也都是这个名字。 为什么会这样呢?这些 api 是什么标准么?...Node.js api 特点就是抽象并不多,而且很多 api 名字和 linux 命令都很像,贴近 POSIX 标准。...Node.js api 并没有做很多抽象,名字也很大部分和 POSIX 标准 api 比较像,这是它特点,相比之下,JRE 暴露给 java api 则做了很多抽象。...因为 Node.js api 很多和 c 函数库、shell 命令比较接近,所以学习 Node.js 结合学习 shell 命令,或者会 c 可以再学下系统函数库会有更多收获。...了解 POSIX,是理解 Node.js api 设计,学好 Node.js 前提。

70620

Node.js 异步 api 本质和 libuv

Node.js 是一个 Javascript 运行时,提供了系统能力 api,主要是文件、网络相关 IO api,而 IO api 实现是在 libuv,提供了同步异步两种形式 api。...在 Node.js 文档搜索 UV_THREADPOOL_SIZE 可以看到这段介绍: 就是说 libuv 是负责 IO api 异步实现,基于更底层操作系统 api。...libuv 提供了 IO 相关 api,在 Node.js 架构位置如下: IO api 3 种形式 梳理清楚了同步异步方式实现原理,我们再来看下 Node.js 都怎么提供这两种 api...,推荐使用 promise 形式异步 api,当然,必须是 Node.js 10 以上版本。...Node.js 里面的 event loop 实现是在 libuv,它提供了文件和网络异步 IO api,从文档我们可以看到,libuv 是基于操作系统 api 实现,而其中一些同步 api

1K20

Node.js RESTful API如何使用?

统一接口:API 应该使用统一接口规范,包括统一命名规则、返回数据格式和错误处理方式等。Node.js 提供了丰富工具和模块,使我们能够轻松地构建符合 RESTful API 设计应用程序。...安装和初始化 Node.js 项目在开始之前,我们需要先安装 Node.js。你可以访问官方网站并按照指引下载适用于你操作系统 Node.js 安装包,然后进行安装。...安装和设置 Express 框架Express 是一个流行 Node.js Web 框架,它提供了简洁而灵活 API,用于构建 Web 应用程序和 RESTful API。...我们首先了解了 RESTful API 概念和原则,然后安装和初始化了一个 Node.js 项目,接着安装和设置了 Express 框架,并实现了一个简单 RESTful API。...希望本文能够帮助你理解和掌握 Node.js RESTful API 基本知识和技巧。

28720

关于 Node.js Stream API 用法概述

多年来,Node.js 开发人员创建了许多包,其目的是让使用流变得更容易。 什么是 Node.js Stream? Node.js 应用程序由单个进程运行,无需为每个请求创建新线程。...Node 在其标准库中提供了一组异步 I/O 原语,可以防止 JavaScript 代码阻塞,通常,Node.js 库是使用非阻塞范例编写,使阻塞行为成为异常而不是正常行为。...流是数据集合——就像数组或字符串一样。 不同之处在于流可能不会一次全部可用,也就是说,它们不必一次行加载到内存。 这使得流在处理大量数据或一次来自外部源数据时非常强大。...它们还赋予了我们代码可组合性力量。 就像我们可以通过管道传递其他较小 Linux 命令来组成强大 linux 命令一样,我们可以在 Node 中使用流执行完全相同操作。...Node 许多内置模块都实现了流接口,下面是一些例子: 上面的列表有一些原生 Node.js 对象示例,这些对象也是可读和可写流。

76420

使用Node.js构建API网关

使用Node.js构建API网关 当微服务架构服务被外部客户端访问时,可以共享有关身份验证和传输一些常见请求。...由于JavaScript是为浏览器开发应用程序主要语言,即使你微服务体系结构使用其他语言进行开发,但是使用Node.js也不失为一个实现API网关绝佳选择。...Node.js API网关 虽然你希望在API网关中执行简单操作,例如将请求路由到特定服务,但你可以使用逆向代理(如nginx)。但是在某些时候,你可能需要实现一般代理不支​​持逻辑。...在这种情况下,你可以在Node.js实现自己 API网关。...在Node.js,你可以使用http-proxy包简单地将请求代理到特定服务,或者你可以使用功能更多功能丰富express-gateway来创建API网关。

5K90

Node.jsMongoDB

集合(collection):集合类似于数组,在集合可以存放文档。 文档(document):文档数据库最小单位,我们存储和操作内容都是文档。...为Html5文档,添加一个classes:{base:["h6+c3","js","jQuery", "abc"] , core:["三大框架","node.js"]} //MongoDB文档属性值也可以是一个文档..."jQuery", "abc"], core:["三大框架","node.js"]}}}); db.colleges.find(); //11.查询有核心课程为 三大框架 文档 //MongoDB支持直接通过内嵌文档属性进行查询.../12.向name为Html5文档,添加一个新核心课程 "微信小程序" //$push 用于向数组添加一个新元素 //$addToSet 向数组添加一个新元素 , 如果数组已经存在了该元素...err) { console.log(count); } }); 遇到问题可以查看api MongoDB教程 mongooseAPI文档

5.2K40

Node.js创建安全 GraphQL API

本文目标是提供关于如何创建安全 Node.js GraphQL API 快速指南。 你可能会想到一些问题: 使用 GraphQL API 目的是什么? 什么是GraphQL API?...在今天文章,我们将专注于怎样用Node.js创建GraphQL API。 为什么要使用Node.js? GraphQL有好几个不同支持库可供使用。...掌握GraphQL 我们将为自己 GraphQL API 设计一个构思框架,在开始之前,你需要了解Node.js和Express基础知识。...在后台场景,我们配置会将 TypeScript 代码编译为纯 JavaScript,然后在build文件夹执行构建。 现在为GraphQL API配置一个基本框架。...mutation 演示 现在我们可以用GraphQL Node.js API进行基本CRUD操作了。接下来开始使用这些代码。

1.6K30

看了就会 Node.js 三大基础模块常用 API

在 A 需要操作 B 项目下文件时,就可以用 process.cwd() 来获取 B 项目的路径。...在 vue-cli 源码也经常会看到 process.env.VUE_CLI_DEBUG 标识当前是不是一 DEBUG 模式。...这里提一个 webpack 插件 DefinePlugin[2],在日常构建流程,我们经常会通过这个插件来注入不同全局变量,从而执行不同构建流程,并且代码 process.env.xxx...模块 API 默认都是异步回调形式,如果你想使用同步方法,有两种解决方法: 使用 Node 提供同步 API:xxxSync,也就是在 API 后面加一个 Sync 后缀,它就是一个同步方法了...在 CLI ,经常需要获取一个路径下所有文件,这时候也需要使用 fs.stat 来判断是目录还是文件,如果是目录则继续递归。当然,现在也有更方便 API 可以完成这个工作。

78930

Node.js内存泄漏分析

但是,即便有了 GC 机制可以自动释放,但这并不意味这内存泄漏问题不存在了。内存泄漏依旧是开发者们不能绕过一个问题,今天让我们来了解如何分析 Node.js 内存泄漏。...在 V8 ,每次 GC 时,是根据 root 对象 (浏览器环境下 window,Node.js 环境下 global ) 依次梳理对象引用,如果能从 root 引用链到达访问,V8 就会将其标记为可到达对象...了解上述点之后,你就会知道,在 Node.js 内存泄露原因就是本该被清除对象,被可到达对象引用以后,未被正确清除而常驻内存。 内存泄漏几种情况: 一、全局变量 ?...例如,Node.js Agent keepAlive 为 true 时,可能造成内存泄漏。...使用 heapdump 保存内存快照时,只会有 Node.js 环境对象,不会受到干扰(如果使用 node-inspector 的话,快照中会有前端变量干扰)。

3.5K50

Node.js 异步迭代器

翻译:疯狂技术宅 作者:János Kubisch 来源:risingstack ? 从 Node.js v10.0.0 开始,异步迭代器就出现中了,最近它们在社区吸引力越来越大。...除了流,当前没有太多支持异步迭代结构,但是可以将符号手动添加到任何可迭代结构,如此处所示。 作为异步迭代器流 异步迭代器在处理流时非常有用。可读流、可写流、双工流和转换流都支持异步迭代器。...调用有分页功能 API 你还可以用异步迭代从使用分页轻松获取数据。为此,我们还需要一种从 Node https 请求方法提供给我们重构响应主体方法。...也可以在这里使用异步迭代器,因为 https 请求和响应是 Node 流: const https = require('https'); function homebrewFetch(url)...我们还将在请求之间添加 7 秒延迟,最大页面数为5,以避免导致 cat API 过载。 我们还将在请求和最大页数之间添加 7 秒钟延迟5个以避免猫cat API重载,因为那将是灾难性

1.6K40
领券