前后端分离:
1.前端--前端控制层、视图层
2.后端--后端控制层、服务层、数据访问层
3.前端在没有API的情况下,可以完美的运行。前端负责展现,后端负责数据
4.前后端相对独立且耦合
问题:
前后端集成-----CI/CD
前端或者后端无法做到“及时协商,尽早解决”最终导致集中爆发
解决方案
首先定义schema,并实时跟踪最新的API,降低集成风险
swagger的作用:
1.restful API文档在线自动更新
2.直接运行,在线测试API
3.支持多种语言(java、PHP等)
4.官网:http://swagger.io/
spring集成swagger----springfox
1.springfox-swagger2
2.springfox-swagger
项目环境:
JDK1.8
spring4.1.7
mybatis3.2.2
springMVC集成springfox-swagger2构建restful API
1.springfox-swagger2
2.springfox-swagger-ui
3.guava
4.mapstruct-jdk8
5.Jackson
-Jackson-core
-jackson-databind
-Jackson-annotations
集成步骤(maven):
在pox.xml文件中添加swagger2相关的依赖
swagger2配置类:swaggerconfig.java(官网下载)
1.@componentScan:设置swagger扫描包
2.@Enableswagger2:使swagger2生效
3.@Configuration:自动在本类上下文加载一些环境变量信息
springMVC 配置文件
1.<mvc:default-servlet-handler
2.添加指定扫描:<context:component-scan/>
API加入Swagger
1.通过在API上添加注解实现,API文档的同步效果
2.@Api
表明可供swagger展示的接口类(用在类上面)
3.@ApiOperation
描述API方法(用在方法上面)
4.@ApiParam
单个参数描述