首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在正常路由的同时使用Swagger for Express

在正常路由的同时使用Swagger for Express
EN

Stack Overflow用户
提问于 2013-02-19 04:19:18
回答 1查看 4.8K关注 0票数 5

我对使用swagger-node-express之类的东西为我正在处理的项目构建API很感兴趣。但是,该应用程序的某些部分不是基于api的(而是提供HTML )。有没有人知道如何在正常路由的同时使用Swagger?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-19 11:25:50

您只需要确保您的路由不会与Swagger路由冲突,并且您的其他路由将照常处理。一种简单的方法是让Swagger位于一个子路径下。看一下关于这一点的文档:

https://github.com/wordnik/swagger-node-express

代码语言:javascript
复制
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/做一些其他的事情,只需以正常的方式添加路由:

代码语言:javascript
复制
app.get(/foo/, function(req, res, next) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello Foo\n');
})

使用子路径配置可能是最干净的方法,但你也可以自己跟踪路由,并确保Swagger路由不会与应用程序其余部分中的路由冲突。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14944617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档