Node.js 如何将jsdoc参数添加到web请求?

Node.js 如何将jsdoc参数添加到web请求?,node.js,firebase,jsdoc,Node.js,Firebase,Jsdoc,我有这样的函数(在Node.js/Firebase中),我想知道如何添加JSDoc格式的文档: exports.getUserRes = functions.https.onRequest(async (request, response) => {...} 如何将GET/POST/etc参数记录到请求中?我刚刚发现一个老问题,其答案似乎是一个好方法。我的意思是,这不是公认的答案,而是@Steven Spunkin的答案: javascript-如何使用JSDoc注释Express中间件

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

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

如何将GET/POST/etc参数记录到
请求中?

我刚刚发现一个老问题,其答案似乎是一个好方法。我的意思是,这不是公认的答案,而是@Steven Spunkin的答案:

javascript-如何使用JSDoc注释Express中间件?-堆栈 溢流

为了简单起见,我在这里复制他的答案。欢迎评论

/**
 * 
 * @module myMiddleware
 * @function
 * @param req {Object} The request.
 * @param res {Object} The response.
 * @param req.params.foo {String} The foo param.
 * @param req.query.bar {String} The bar query.
 * @param req.body {Object} The JSON payload.
 * @param {Function} next
 * @return {undefined}
 */
function foo(req, res, next){ ... }
我将其他答案合并在一起并修改了一些代码,
它可以包括
express.Request
和事件自定义请求正文中定义的所有方法/属性。
它不仅可以用于
request.body
,还可以支持
req.query

这是因为
express.Request
支持泛型,所以我们可以在JSDOC中使用它

首先,记住使用npm安装来安装
@types/express
——保存dev@types/express

第二,设置如下代码所示

/@ts检查
/**
*@typedef{object}showRequestBody
*@property{string}name这是请求正文中的名称
*@property{number}age这是请求正文中的年龄
* 
*@typedef{object}showRequestQuery
*@property{string}name这是查询中的名称
*@property{number}age这是查询中的年龄
* 
*@param{import('express').Request}req
*@param{import('express').Response}res
*@param{import('express').NextFunction}next
*/
exports.show=函数(请求、恢复、下一步){
};
注意:我在vscode中使用它


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


req.body
提示


请求查询
提示