目前公司的项目对外交互都是采用 http resful 的协议进行通信, 数据格式采用 JSON RESTFUl 的风格, 这种组合比较轻量级, 基本抛弃过去的 xml 格式. 但是在互联网后台服务中, 都是采用分布式系统, 会将一个大的项目拆分成多个小的子系统, 每个团队各负责一个部分, 这个时候, 如何定义各系统的之间的接口以及如何就接口进行展示和沟通, 往往是一个头疼的问题. 之前的项目开发中, 一直采用纯粹的文档的形式, 随着业务的变化, 维护文档的更新是一个非常耗时耗力的事情. 这段时间看到了一个开源项目 swagger, 提供了一种从项目代码中自动生成接口文档的功能, 可以保持和代码的同步变化, 非常强大. 其中与 Spring 整合版本是 Spring-Fox 的开源项目, 已经和 Spring 框架进行了非常好的整合. 本文将对 Swagger 进行简单的一个介绍和 Demo 的实现.