gpt4 book ai didi

express - 像 swagger/swashbuckle 但对于 node.js?

转载 作者:行者123 更新时间:2023-12-03 16:27:31 24 4
gpt4 key购买 nike

是否有任何用于 node express 的工具,您可以在其中自动为 生成 swagger 文档?现有项目?类似于花花公子?

最佳答案

我也一直在研究这个,对你有帮助的项目是swagger-node-express . swagger-ui , 应该是 swagger-node-express 的依赖项。 Swagger-node-express 包装 express 并将其公开为一个新接口(interface),这意味着您将进行代码更改以使其工作。这就是路线的样子(取自他们的文档)

 var findById = {
'spec': {
"description" : "Operations about pets",
"path" : "/pet.{format}/{petId}",
"notes" : "Returns a pet based on ID",
"summary" : "Find pet by ID",
"method": "GET",
"parameters" : [swagger.pathParam("petId", "ID of pet that needs to be fetched", "string")],
"type" : "Pet",
"errorResponses" : [swagger.errors.invalid('id'), swagger.errors.notFound('pet')],
"nickname" : "getPetById"
},
'action': function (req,res) {
if (!req.params.petId) {
throw swagger.errors.invalid('id');
}
var id = parseInt(req.params.petId);
var pet = petData.getPetById(id);

if (pet) {
res.send(JSON.stringify(pet));
} else {
throw swagger.errors.notFound('pet');
}
}
};

“宠物”类型仍然由您定义,我不会在这里重写他们的文档。

然后这将生成一个文件,swagger-ui 可以使用该文件为您提供一个自包含的自我记录系统。 swagger-node-express 的文档足以进行设置(不要忘记设置 swagger 路径,我做到了)。

swagger.configureSwaggerPaths("", "/docs", "");

在向您展示了理论上可以满足您要求的工具之后,让我解释一下为什么我得出的结论是我不会使用它们。
  • 需要大量的代码更改——它真的比创建工作少吗
    你自己的 swagger.yml 文件?我不这么认为。
  • 手动创建 swagger.yml 文件不太可能破坏您的项目。
  • 虽然 swagger-node-express 没有被贬低,但它的 github repo 不再存在,它被包装到 swagger-node 中,但该项目并没有真正提及它
  • 我会警惕任何意味着我需要包装 express 的工具——这不是我想做的事情。

  • TL;DR:
    大量代码更改是可能的——但可能不是你想要的。

    关于express - 像 swagger/swashbuckle 但对于 node.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33766835/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com