需要为使用nodejs / express编写的现有应用程序创buildapi文档

我有几个私人apis写在普通的旧expression。 有时间让它出来,并提供一些API文件。

我不想(至less)它重写我的快速应用程序,以将API文档整合到代码中。 主要是因为我不确定使用什么框架或规范来logging我的api,我并不想locking在一个特定的东西。

我想将文档作为我的API下的子资源的一部分(即我不想运行不同的服务器或子域)。 也许'/ api / docs'。 加号也可以是我可以embedded到我的应用程序,可以parsing文档,至less提供一个很好的文档在HTML中的表示(UI API交互是一个加号)的用户界面。

像https://github.com/swagger-api/swagger-node-express这样的东西很酷,但是需要我重新编写我所有的快速代码才能集成大举的东西。 在那个时候,我有一个很大的投资,并紧紧地联系在一起。

有没有一种方法可以放出大招或碘酒,或者其他的东西来logging我的api的方式是对现有路线的微创?

编辑:

我可以从一个手写的文档中提供Swagger规范。 我看到的问题是,你必须在swagger文档中定义basePath。 这实际上并不能让我轻松部署在不同的领域。

       

网上收集的解决方案 "需要为使用nodejs / express编写的现有应用程序创buildapi文档"

有很多的Node.js工具可以将Swagger与你的应用程序集成在一起,我认为它们提供了不同的方法。 你可以在这里find这样的集成列表 – https://github.com/webron/swagger-spec/#nodejs – 但是我可以告诉你,那里还有其他工具没有在那里列出。 你可以尝试在github上searchswagger和node / express。

至于手册规范和基本path – Swagger 2.0实际上为你解决了这个问题。 您可以使用在线编辑器( http://editor.swagger.io )以更人性化的YAML格式编写您的规格,然后您可以将其导出为JSON。 与Swagger 1.2和以前的版本不同,basePath现在分成三个属性 – schemes (http,https), host (域,端口)和basePath (应用程序的根上下文)。 这些属性都不是强制性的,它们都默认为服务swagger.json文件(规范本身)。 schemes默认为scheme服务swagger.json, host默认为用于服务swagger.json的主机,除非明确指定,否则basePath将是\ 。 我相信这应该解决您对basePath的担忧。