==========================================================================
后端时代:前端只用管理静态页面;html等静态资源交给后端通过模板引擎进行渲染
前后端分离时代:
-
后端:控制层controller、服务层service、数据访问层dao
-
前端:前端控制层、视图层
-
前后端交互:通过API接口
-
前后端相对独立,松耦合,甚至可以部署在不同的服务器上
-
随之产生的问题:前后端联调,前端人员和后端人员无法做到及时协商,尽早解决
解决方案:
-
首先指定schema(计划),实时更新最新的API,降低集成风险
-
早些年:指定word计划文档
-
前后端分离:
-
前端测试后端接口数据是否正确:postman
-
后端提供接口,需要实时更新最新的消息和改动
于是Swagger应运而生
-
号称历史上最流行的api框架
-
RestFul Api文档在线生成工具=》Api文档与Api定义同步更新
-
直接运行,可以在线测试Api接口
-
支持多种语言
SpringBoot项目整合swagger2需要用到两个依赖:springfox-swagger2和springfox-swagger-ui,用于自动生成swagger文档。
-
springfox-swagger2:这个组件的功能用于帮助我们自动生成描述API的json文件
-
springfox-swagger-ui:就是将描述API的json文件解析出来,用一种更友好的方式呈现出来。
此版本的亮点:
-
Spring5,Webflux支持(仅支持请求映射,尚不支持功能端点)。
-
Spring Integration支持。
-
SpringBoot支持springfox Boot starter依赖性(零配置、自动配置支持)。
-
支持OpenApi 3.0.3。
-
零依赖。几乎只需要spring-plugin,swagger-core ,现有的swagger2注释将继续工作并丰富openapi3.0规范。
兼容性说明:
-
需要Java 8
-
需要Spring5.x(未在早期版本中测试)
-
需要SpringBoot 2.2+(未在早期版本中测试)
-
应用主类添加注解@EnableOpenApi (swagger2是@EnableSwagger2)
-
swagger配置类SwaggerProperties.class,与swagger2.xx 版本有差异,具