node.js - 使用 tsoa 定义具有多个端点的 Controller
问题描述
在迁移用 typescript 编写的节点服务以生成 OpenAPI 规范时,我遇到了一个处理大量端点的控制器类。URL 模式可以表示为
/{item}/{stateChange}
但是,有一组特定的允许stateChange
事件,似乎它们应该被定义为 OAS 中的端点。有没有一种好方法可以将tsoa与允许的端点的数组/散列一起使用?
当前代码使用类似的类型
type StateMapping = {[key: string]: DatabaseState}
代码基本上说
targetState = stateMapping[stateChange];
if (!targetState) {
request.setStatus(400);
} else {
if (dbEntry(item).addState(targetState)) {
request.setStatus(200);
} else {
request.setStatus(409);
}
}
为每个可能的 stateChange 创建一个控制器方法似乎没有意义,但最好在 OAS 文档中显示它们中的每一个。您能否建议一种方法来为 tsoa 提供 stateMapping 条目列表以将其视为端点?
解决方案
推荐阅读
- c# - 如何仅使用以下示例在 LINQ 中成功使用 CopyToDataTable() 方法?
- react-native - 我如何在 react-native-zoom-us 中获得会议持续时间
- oracle - Oracle“DBMS_METADATA.GET_DDL”使用问题
- flutter - 如何在颤动中将 ip Camera Stream 直接流式传输到 Youtube
- mysql - Mysql - 加入类似的查询
- python - 用非独立参数实现构造函数的 Pythonic 方式是什么?
- vba - 如何将 FileSytemObject 添加到我的 VBA 以创建 Unicode 文本平面文件?
- php - 如何使用 PHP 和 Google Drive API 获取基于所有者的所有文件夹和文件
- python - 如何将一串二进制数转换为二进制数?
- api - Shopware 5:API 订单数据中的发布日期格式错误