如何将 jsdoc 参数传递给 Web 请求?

2024-02-21

我有这样的功能(在 Node.js/Firebase 中),并且想知道如何添加 JSDoc 格式的文档:

exports.getUserRes = functions.https.onRequest(async (request, response) => {...}

如何将 GET/POST/etc 参数记录到request?


我将其他答案结合起来如何使用 JSDoc 对 Express 中间件进行注释? https://stackoverflow.com/questions/27266857/how-to-annotate-express-middlewares-with-jsdoc/65108929并修改一些代码,
它可以包括定义的所有方法/属性express.Request和事件自定义请求正文。
它不仅可以用在request.body,而且还支持req.query.
那是因为express.Request支持泛型,所以我们可以在 JSDOC 中使用它。

首先,记得安装@types/express with npm install --save-dev @types/express.

其次,像下面的代码一样设置。

// @ts-check
/**
 * @typedef {object} showRequestBody
 * @property {string} name this is name in request body
 * @property {number} age this is age in request body
 * 
 * @typedef {object} showRequestQuery
 * @property {string} name this is name in query
 * @property {number} age this is age in query
 * 
 * @param {import('express').Request<{}, {}, showRequestBody, showRequestQuery>} req
 * @param {import('express').Response} res 
 * @param {import('express').NextFunction} next 
 */
exports.show = function(req, res, next) {
};

注:我在vscode中使用它。


定义的其他方法/属性express.Request, 例如req.headers


req.body hint


req.query hint

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 jsdoc 参数传递给 Web 请求? 的相关文章

  • 如何在将数据发送到 Firebase 数据库之前对其进行加密?

    我正在使用 Firebase 实时数据库制作聊天应用程序 我知道 Firebase 非常安全 只要您的规则正确 但我自己可以阅读使用我的应用程序的人的所有聊天记录 我想阻止这种情况 为此我需要一种解密和加密方法 我尝试使用凯撒解密 但失败了
  • 在 PHP 中设置通知的 FCM 通道 ID

    我正在尝试使用 PHP 向 Android 设备发送 FCM 通知 我的代码适用于 Android O 之前的设备 在Android O中 我们还需要在请求中设置通道ID来接收通知 我不知道该怎么做 我已在应用程序中完成了必要的设置 并使用
  • 如果 node_modules 目录存在,Azure 模拟器无法启动 Web 角色

    我想我只是偶然发现了一个非常奇怪的问题 我有一个相当大的解决方案 包括一个具有 3 个角色 两个工作角色和一个 Web 角色的 Azure 项目 Web角色基于asp net mvc和web api 昨天尝试 gulp 用于编译和捆绑较少的
  • NPM 全局标志在 Windows 上似乎不一致

    从控制台运行 gt npm root g 或者以编程方式 var npm require npm npm load null function err npm npm config set global true npm root 我在 W
  • 使用 npm API 检索带有版本的私有 npm 包列表,可能吗?

    我在 npmjs org 上有一个私有 npm 注册表 其中包含几个私有 npm 包 我们正在转向内部私人 npm 注册表 verdaccio 长话短说 使用我们的 AWS 基础设施 verdaccio 服务器可能会因多种原因而被重建 主要
  • 从 google Drive 自行下载 xlsx 文件

    所以 我正在尝试制作一个小脚本 它将使用谷歌驱动器API下载一个Excel文件 通过遵循谷歌API教程 我遇到了两个错误 无法读取未定义的 on 属性 和 请求的转换是不支持 这是代码 const fs require fs const r
  • 如何使用 node.js 请求模块使用我自己的证书进行 SSL 调用?

    我正在使用 node js 和此请求模块对另一台服务器进行 HTTP 调用 https github com mikeal request https github com mikeal request 效果很好 我现在需要修改此代码以使用
  • Nest.js - 在猫鼬模式中创建索引

    如何使用 Nest js 在猫鼬模式中创建属性索引 我尝试添加索引作为属性选项 但索引尚未创建 Schema export class Schema extends Document Prop id string Prop required
  • 从 json 文件加入时添加角色 (autorole)

    我对 JS 相当陌生 为了学习 我决定为 Discord 制作一个机器人 我学到了很多并且正在继续学习 我有一个 autorole 的想法 我知道传统的做法 bot on guildMemberAdd member gt var role
  • Node.js 和代码优先

    我使用代码优先方法开发实体框架 现在我正在学习 Node js 我想知道是否有一种方法可以使用 Node js 和一些库来实现相同的代码优先方法 我正在考虑使用MySql作为数据库 你可以看看续集 http docs sequelizejs
  • Firestore——仅获取大型同步集合中已更改的文档

    我已阅读下面的所有问题 但在文档中找不到任何内容来描述如何同步集合和接收only更改集合中的文档 我的同步集合中有超过 500 个文档 使用redux saga firebase 同步集合 https redux saga firebase
  • NodeJS 错误堆栈未定义 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在使用节点检查器 我注意到new Error 有未定义的堆栈 如果我将此值分配给一个变量 该变量将显示堆栈未定义 有趣的是 跑步new
  • AWS SDK S3 node.js 连接到本地 MinIO 服务器

    我有用 Node js 编写的应用程序服务器 它将文件上传到 AWS S3 存储 为此我正在使用https www npmjs com package aws sdk https www npmjs com package aws sdk当
  • 如何使用 lodash、underscore 或 bluebird 同步迭代数组 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有一个数组 其中每个索引处包含文件名 我想下载这些文件一次一个 同步 我知道关于 Async 模块 但我想知道是否有任何功能Lodash
  • Python 中的 Firebase 身份验证时出现 KeyError:“databaseURL”

    相信你做得很好 我是 firebase 的新手 正在尝试进行用户身份验证 我已经安装了pyrebase4并在firebase控制台上创建了一个项目 我还启用了使用 电子邮件和密码 登录并尝试连接我的应用程序 下面是我正在尝试的代码 impo
  • 如何在 MongoDB v3.0.5 中创建用户

    我需要在 mongodb 中为我的数据库创建一个用户 但似乎我无法让它工作 我已经在我的 Windows 7 机器上安装了 mongoDb v3 0 5 根据本文 https docs mongodb org v3 0 tutorial a
  • 使用 NodeJS 创建 YouTube 播放列表

    我正在尝试使用 NodeJS 服务器创建 YouTube 播放列表 我已按照 Oauth 的 NodeJS 快速入门说明进行操作 如以下链接所示 https github com youtube api samples blob maste
  • 阻止 PM2 上不同时运行的请求

    在我的 Express 应用程序中 我在应用程序中定义了 2 个端点 一种用于 is sever up 检查 另一种用于模拟阻塞操作 app use status req res gt res sendStatus 200 app use
  • 从 node.js 创建对 AWS ES 实例的有效签名请求

    我试图找到一个示例 说明如何连接到 Node js 中的 AWS ES 实例 然后通过一个简单的请求访问 ES 集群 我正在尝试使用elasticsearch节点包 https www npmjs com package elasticse
  • 运行 pm2 记录错误 SyntaxError: Unexpected token

    我想查看我的项目的日志 Steps 我克隆了一个套接字应用程序 然后我跑npm install pm2 g安装pm2 I run pm2 start 有用 它显示我的套接字应用程序的表格 但如果我跑pm2 logs查看日志 存在这样的错误

随机推荐

  • 输出 iso8601 中的 Ruby 持续时间

    我希望在 ruby on Rails 中为 schema org 以 iso8601 格式输出持续时间 我已经知道如何输出 iso8601 中的时间戳 例如video created at iso8601 我现在想做的是输出以下格式的内容
  • 帕斯卡三角形

    我正在使用 python 脚本寻找帕斯卡三角形 我已经完成到这里了 不知道如何添加 numstr raw input please enter the height height int tri row1 1 row2 1 1 tri ap
  • 使用 Lodash/Javascript 过滤嵌套数组

    我有以下对象数组 var sizeList id 1 title Test1 type name Big present false name Small present true name Medium present false id
  • Android 图像按钮工具提示

    我正在尝试构建一个带有图像按钮的应用程序 其工作方式类似于操作栏 但我无法让它们在长按时显示工具提示
  • 修复配置错误的镜像 zfs 池

    我的机器从两个 USB 设备的镜像 zfs 池启动 以前的泳池是这样的 sudo zpool status pool freenas boot state ONLINE scan resilvered 891M in 15h19m with
  • 使用模板函数的不同类型的输入

    我尝试使用模板函数从用户那里获取输入 我希望能够输入 int double float 和 strings 这是我到目前为止的代码 template
  • 知道在Windows机器上杀死哪个java.exe进程[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 当基于 java 的应用程序在 Windows 计算机上开始出现异常时 如果您无法正常退出该应用程序 您希望能够在任务管理器中终止该进程 大多数时候
  • ASP.NET MVC:如何添加视图、脚本和内容文件作为链接以便跨项目共享? (通过VS中的“添加为链接”)

    我有一个想要共享的通用 Layout cshtml 文件 当我将文件添加为项目中的链接 通过 添加现有项目 gt 添加为链接 时 我收到一条错误 指出在运行应用程序时找不到该文件 如果我将构建操作设置为 始终复制 它会将文件复制到构建目录
  • 将 /socket.io/socket.io.js 缩小为 1.0

    今天socket io 1 0已经发布了 我刚刚更新 现在以下内容不再起作用 io enable browser client minification io enable browser client etag io enable bro
  • selenium.common.exceptions.ElementNotVisibleException:消息:尝试使用 Python + Selenium 访问元素时元素不可见

    我尝试在以下网站中输入用户名和密码 https www thegreatcoursesplus com sign in https www thegreatcoursesplus com sign in driver webdriver C
  • SQL Server 错误 916

    当我尝试附加数据库时出现此错误 错误信息 发生异常 执行transact sql语句时 或批次 我已将数据库复制到 SQL Server 服务器的 Data 文件夹中 我想在 SQL Server 中配置数据库 但是当我尝试附加数据库时 出
  • 使用 CameraPreview 时获取 GPS 数据的问题

    我尝试编写一些 AR 应用程序 现在 我编写了一些代码来显示相机预览并从设备上的传感器 加速计 指南针 GPS 接收器 获取数据 当我在单独的应用程序中运行代码时 例如相机预览作为一个应用程序和作为第二个应用程序获取 GPS 数据的应用程序
  • 如何将多个外部侦听器注册到 d3 中的同一选择?

    我正在 d3 中编写一个项目 其中有一个 html 页面 其中包含两个外部 javascript 文件 例如script 1 js and script 2 js 我需要从 script 1 js 注册一个事件侦听器 从 script 2
  • pip 无法在 Mac 上的 docker 容器内安装软件包

    我正在关注Docker 入门 https docs docker com get started part2 将 docker 与 python 应用程序一起使用的指南 但是当 docker 执行命令时 RUN pip install r
  • 如何防止子视图与标签栏重叠?

    我有一个底部带有标签栏的视图 该视图被推送到导航控制器上 因此顶部也有一个导航栏 对于这个视图 我想显示一个表视图 它是我从它自己的笔尖创建的 当我将此视图添加为子视图时 它与选项卡栏重叠 有没有办法让这个子视图自动调整大小到顶部栏和底部栏
  • for 循环/for_each 的每次迭代可以并行完成吗? (C++11)

    我正在迭代结构向量并单独处理每个结构 它看起来像这样 for each begin data end data DoTask assume data is std vector
  • 具有固定标题的可滚动表格

    我为此在 PHP HTML CSS 中搜索了一些解决方案 但到目前为止没有任何效果 也许是因为大多数示例中的代码太多 所以我迷失了其中 有人可以向我解释我需要做什么或在这里放置一些简单的示例代码吗 使用 CSS 固定表头 最简单的是posi
  • 使 cURL 输出 STDERR 到文件(或字符串)

    我们正在尝试调试服务器上的一些 cURL 错误 我想查看 STDERR 日志 目前 我们只能看到错误 错误代码 7 并且无法连接到目标服务器 我们已经联系了主机并制定了特殊规则来打开我们需要的端口 我们甚至暂时忽略了证书 尽管如此 我们还是
  • 如何通过Java反射动态创建Java类?

    反射用于加载 java 类并动态操作它们 但我遇到了一个奇怪的问题 它问我如何通过 Reflection 即时创建 Java 类 我的意思是 在我们希望创建它们之前 这些类不会被编译或具有源代码 真的可能吗 有什么例子吗 你可以看一下Bea
  • 如何将 jsdoc 参数传递给 Web 请求?

    我有这样的功能 在 Node js Firebase 中 并且想知道如何添加 JSDoc 格式的文档 exports getUserRes functions https onRequest async request response g