1.Swagger简介
1.1 Swagger 的含义
•前后端分离:
后端:后端控制层、服务层、数据访问层【后端团队】
前端:前端控制层、视图层【前端团队】
伪造后端数据,json,已经存在了,不需要后端,前端工程一九可以跑起来
前后端如何交互?==>API;
前后端相对独立,松耦合;
前后端甚至可以部署在不同的服务器上;
•产生一个问题:
前后端集成协调,前端人员和后端人员无法做到“即时协商,尽早解决”,最终导致问题集中爆发
•解决方案:
首先指定schema【计划的提纲】,实时更新最新API,降低集成的风险;
早些年:指定word计划文档;
前后端分离:
前端测试后端接口:postman
后端提供接口,需要实时更新最新的消息及改动!
•Swagger
°号称世界上最流行的API框架;
°RestFul Api 文档在线自动生成工具=>Api文档与API定义同步更新
°直接运行,可以在线测试API接口
°支持多种语言:(Java,Php)
•官网:swagger.io/
1.2 在项目中使用swagger
1.2.1在项目中使用Swagger需要springbox;
•Swagger2
•ui
1.2.2 Springboot集成Swagger
①新建一个spring boot=web项目
②导入相关依赖
io.springfox
springfox-swagger2
2.9.2
io.springfox
springfox-swagger-ui
2.9.2
③编写一个Hello工程
1.2.3 编写一个Hello工程
1.2.4 配置Swagger==>config
1.2.5 测试运行
Swagger信息
接口信息
实体类信息
1.2.6 配置swagger
Swagger的bean实例Docket;
1.2.7 Swagger配置扫描接口
Docket.select()
1.2.8 配置是否启动Swagger
enable(false)
•题目
我只希望我的Swagger在生产环境中使用,在发布的时候不使用?
°判断是不是生产环境 flag=false
°注入enable()
1.2.9 配置API文档的分组
groupName("hello").
如何配置多个分组
1.2.10 实体类配置
2.springboot
2.1 注解含义
•@Controller 注解用于标识一个类为控制器,它告诉Spring框架该类是一个处理请求的控制器,并且可以通过处理不同的URL请求来返回不同的视图或数据。
•@ResponseBody 注解用于将方法的返回值直接作为响应体返回给客户端,而不是通过视图解析器进行渲染。它通常与 @Controller 注解一起使用,表示该控制器返回的是数据而不是视图。
•@RestController 注解将这两个注解结合在一起,用于标识一个类为RESTful风格的控制器。它的作用相当于在一个类上同时添加了 @Controller 和 @ResponseBody 注解
@RequestMapping 是一个Spring MVC注解,用于映射请求的URL路径到控制器的处理方法上
@Bean 是一个注解,用于在 Spring 配置类中声明 Bean。当一个方法被 @Bean 注解修饰时,它将被 Spring 容器解释为声明要创建和配置的一个 Bean 实例。方法的返回值将被注册为一个 Bean,并由 Spring 容器负责实例化、依赖注入和生命周期管理等操作
@Configuration 是 Spring Framework 中的一个注解,用于标识一个类作为配置类。配置类用于定义应用程序的配置信息,包括声明和组装 Bean,配置属性,以及其他应用程序的配置项。