# swagger-demo
**Repository Path**: sayYi/swagger-demo
## Basic Information
- **Project Name**: swagger-demo
- **Description**: openapi 与 swagger
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-12-23
- **Last Updated**: 2021-12-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 接口文档案例
openapi的元数据信息介绍:
官方文档:
添加openapi的依赖后,访问 即可查看api文档
api涉及到一个信息组合继承的问题。
api中说明的信息如果和功能性注解不同,就会有问题。比如api中声明数据不能为空,但是功能注解说是非必填字段,那么就需要考虑以谁为准的问题。
这属于文档生成框架需要考虑的问题。
需要注意的是,使用了api工具不代表就真的可以将文档集成在项目中了。
- api文档的书写,本质上还是依赖于程序员自己的习惯,工具只是提供了表单项,但是具体怎么写还是依赖于开发人员自身。只能说某种程度上给文档维护提供了便利,但是感觉还是看个人,不会写注释的人,使用再便利的工具也无济于事。
- api声明只能到 controller,只是针对接口的,也就是说更像是面向前端用户提供的。只是涵盖controller的文档,其他的地方还是需要自己去规范。
这种东西,本质上没啥神奇的。关键还是在于开发人员自己有良好的注释习惯,否则在文档方面的帮助其实有限,甚至有没有都一样。
## openapi 与 swagger
openapi定义了声明接口信息的规范(数据内容,数据格式),swagger作为实现,将注解中的数据提取输出为满足openapi要求的文档
## 使用
主要区分四个层次的注解
- 应用级别 `@OpenAPIDefinition`
- 控制器级别 `@Tag`
- 方法级别 `@Operation`
- Model、Model Field `@Schema`
其他的看注释就知道大概怎么回事了