使用Swagger的Spring REST API文档

我正在寻找一个可以帮助我生成RESTful API文档的工具。 我的服务器是用Java编写的,使用了Spring MVC框架。 我的服务器中没有VIEWS。 这是一个100%的RESTful服务,它所做的就是使用JSON并吐出JSON。

我想知道Swagger是否与Spring注释兼容?

目前还没有Spring MVC的Swagger模块(至less从Wordnik开始),但总的来说,在基于JVM的REST服务上启用Swagger非常简单。

Swagger服务器支持分为两部分 – 核心服务器和与REST服务的集成。 看到Swagger github回购 。 Swagger核心定义了表示REST服务,参数,允许值,HTTP操作等的文档。服务器集成将本文档连接到REST框架的结构。 Wordnik通过JAX-RS使用Jersey并发布了swagger-jaxrs来完成这个集成。 还有一个Swagger-Play模块,很快就会发布到Play模块库中。

如果你想在另一个REST框架(如Spring MVC)上启用swagger,请按照下列步骤操作:

1)生成一个API读取器来生成一个com.wordnik.swagger.core.Documentation对象。 请参阅JAX-RS版本以及播放的版本 。

2)创build一个REST端点,将JSON / XML版本的Documentation对象返回给客户端。 再次, JAX-RS和播放 。

3)添加一个filter来拦截请求来执行资源或对象级的访问。

所以简而言之,它可以很容易地放在一起。

这里有一个Swagger-SpringMVC实现,以及这里的例子。

规范v1.2得到了充分的实施和支持(即模型生成,对generics的全面支持),并且正在积极开发中。

Swagger for Spring MVC的另一个实现是swagger4spring-web 。

它与Swagger-SpringMVC类似,支持所有的Swagger注解并为返回types和参数生成JSON模式。 它也可以工作,没有大招注释。

如果只是在生成交互式API文档(不需要维基风格的协作)之后, I / O Docs才是更好的解决scheme,需要更less的努力来设置,使用和定制,恕我直言。

它运行在nodejs和Redis上。 您只需要编写API的JSON模式,并生成一个描述您的API的HTML / JS网站,并让开发人员通过他们的浏览器实时播放它。

我打算将我的API托pipe在我的服务器上(因为要求任何人安装另外两个软件来查看API将是疯狂的),但是JSON模式本身已经具有良好的可读性和紧凑的结构,我认为这足以与其他程序员。 这是一个小项目。

有一个类似的问题,你可能想看看。

Swagger 2.0是Swagger的最新版本。

Swagger有不同的版本可以满足不同的需求。

io.swagger是swagger库的软件包,你需要单独的弹簧jar与Spring耦合。 这是招摇的第二个版本。

io.springfox是Springfox Swagger2,其中Swagger与Spring集成在一起。

com.mangofactorycom.mangofactory Web MVC框架集成在一起。