我有兴趣使用类似 swagger-node-express 的东西来为我正在处理的项目构建 API。但是,应用程序的某些部分不是基于 api 的(而是提供 HTML)。有人对我如何在正常路线上使用 Swagger 有任何想法吗?
user1082754
问问题
4912 次
1 回答
5
您只需要确保您的路线不会与 Swagger 路线冲突,并且您的其他路线将照常处理。一种简单的方法是让 Swagger 生活在子路径下。查看有关该分数的文档:
https://github.com/wordnik/swagger-node-express
var app = express();
var subpath = express();
app.use(express.bodyParser());
app.use("/v1", subpath);
swagger.setAppHandler(subpath);
否则,您只需注意确保您在应用程序中使用的其他 URL 都不会与 Swagger URL 冲突,并且您应该能够正常定义路由和处理程序。例如,您可以使用 Swagger 在下面提供文档,http://localhost:8002/api-docs.json/pet
但http://localhost:8002/foo/
只需以正常方式添加路线即可做其他事情:
app.get(/foo/, function(req, res, next) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello Foo\n');
})
使用子路径配置可能是最干净的方法,但您也可以自己跟踪路由并确保 Swagger 路由与应用程序其余部分的路由不冲突。
于 2013-02-19T03:25:50.180 回答