我如何将jsdoc参数传给web请求?
How do I jsdoc parameters to web request?
我有这样的功能(在 Node.js/Firebase 中),想知道如何添加 JSDoc 格式的文档:
exports.getUserRes = functions.https.onRequest(async (request, response) => {...}
如何将 GET/POST/etc 参数记录到 request
?
我刚刚发现一个老问题的答案似乎提出了一个好方法。我的意思是这不是公认的答案,而是@Steven Spunkin 的答案:
javascript - How to annotate Express middlewares with JSDoc? - Stack
Overflow
How to annotate Express middlewares with JSDoc?
为了简单起见,我在这里复制了他的回答。欢迎评论!
/**
*
* @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){ ... }
我结合了How to annotate Express middlewares with JSDoc?中的其他答案并修改了一些代码,
它可以包括在 express.Request
和事件自定义请求正文中定义的所有 methods/properties。
它不仅可以在 request.body
中使用,而且还支持在 req.query
.
中使用
那是因为 express.Request
支持泛型,所以我们可以在 JSDOC 中使用它。
首先,记得安装 @types/express
和 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
上定义的其他methods/properties,例如req.headers
req.body
提示
req.query
提示
我有这样的功能(在 Node.js/Firebase 中),想知道如何添加 JSDoc 格式的文档:
exports.getUserRes = functions.https.onRequest(async (request, response) => {...}
如何将 GET/POST/etc 参数记录到 request
?
我刚刚发现一个老问题的答案似乎提出了一个好方法。我的意思是这不是公认的答案,而是@Steven Spunkin 的答案:
javascript - How to annotate Express middlewares with JSDoc? - Stack Overflow How to annotate Express middlewares with JSDoc?
为了简单起见,我在这里复制了他的回答。欢迎评论!
/**
*
* @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){ ... }
我结合了How to annotate Express middlewares with JSDoc?中的其他答案并修改了一些代码,
它可以包括在 express.Request
和事件自定义请求正文中定义的所有 methods/properties。
它不仅可以在 request.body
中使用,而且还支持在 req.query
.
中使用
那是因为 express.Request
支持泛型,所以我们可以在 JSDOC 中使用它。
首先,记得安装 @types/express
和 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
上定义的其他methods/properties,例如req.headers
req.body
提示
req.query
提示