浏览器输入127.0.0.1:8080/test会重定向到swagger页面
点击右上角的Authorize就会弹出以下界面,输入token,请求接口就会自动携带该token发送请求,这里随便输入一个abc为token,点击Authorize
打开一个接口去测试,查看效果,发现请求已经自动携带了token
@SpringBootConfiguration
@OpenAPIDefinition(info = @Info(title = "API", version = "v1"))
@SecurityScheme(
name = "token",
type = SecuritySchemeType.HTTP,
bearerFormat = "JWT",
swagger是我们开发过程中非常常用的一个api 文档维护组织吗,为了前后端更好的交互,swagger早已经成为了大家的首选api 文档框架。但随着spring的发展与强大,spring也出了自己的api框架,但实用惯了swagger的用户,在切换过来后发现就不太会用了,其实springdoc本身已经集成并兼容了swagger,但对应的注解有所变化。下面我们就来看看swagger的注解在springdoc中的对应关系。
springdoc的maven依赖
<dependency>
spring常见注解方法,小编主要结合老师的讲解,和自己的理解方式作为解析,方便后期的记忆。
创建一个学生的实体类
private String student_id;// 学生id
private String name;// 学生名字
// 引用老师对象 每个学生都有一个对应的辅导员
private Teacher teacher;
省略get、set、toString方法,自己去生成。
创建一个老师的实体类
private String teacher_id;// 教师编号
1.xml文件中的spring注解约束
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/
很多从 swagger 2 过来的用户可能会好奇,为什么不使用 springfox 库来生成 API,我在这里简单总结一下springdoc-openapi 是 spring 官方出品,与 springboot 兼容更好(springfox 兼容有坑)springdoc-openapi 社区更活跃,springfox 已经 2 年没更新了springdoc-openapi 的注解更接近 OpenAPI 3 规范。
这里为什么要使用SpringDoc呢?是因为集成SpringFox只支持SpringBoot2.x,而基于Swagger的SpringDoc的社区现在十分活跃,代码也在不断更新。SpringFox自从2020年7月14号之后就不更新了。
java库有助于使用 spring boot 项目自动生成 API 文档。通过在运行时检查应用程序以根据 spring 配置、类结构和各种注释推断 API 语义来工作。自动生成 JSON/YAML 和 HTML 格式 API 的文档。可以使用 swagger-api 注释通过注释来完成此文档。OpenAPI3Swagger-uiOAuth 2GraalVM 原生镜像Knife4j是一个集Swagger2和OpenAPI3为一体的增强解决方案。