我对使用swagger-node-express之类的东西为我正在处理的项目构建API很感兴趣。但是,该应用程序的某些部分不是基于api的(而是提供HTML )。有没有人知道如何在正常路由的同时使用Swagger?
发布于 2013-02-19 11:25:50
您只需要确保您的路由不会与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路由不会与应用程序其余部分中的路由冲突。
https://stackoverflow.com/questions/14944617
复制相似问题