与正常路线一起使用Swagger Express

我有兴趣使用像swagger-node-express这样的东西为我正在开发的项目构buildAPI。 但是,该应用程序的某些部分是非基于API(改为提供HTML)。 有没有人有任何想法,我将如何使用Swagger旁边的正常路线?

你只需要确保你的路线不与Swagger路线冲突,你的其他路线将照常处理。 一个简单的方法是让Swagger在子path下生活。 看看这个分数的文档:

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'); }) 

使用子pathconfiguration可能是最干净的方法,但您也可以自己跟踪路线,并确保Swagger路线与其他应用程序中的路线没有冲突。