5

我有兴趣使用类似 swagger-node-express 的东西来为我正在处理的项目构建 API。但是,应用程序的某些部分不是基于 api 的(而是提供 HTML)。有人对我如何在正常路线上使用 Swagger 有任何想法吗?

4

1 回答 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/pethttp://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 回答