openapi - oceanbei333/leetcode GitHub Wiki

Open API 规范(OpenAPI Specification)以前叫做 Swagger 规范,是REST API 的 API 描述格式。 Open API 文件允许描述整个 API,包括:

  1. 每个访问地址的类型。POST 或 GET。
  2. 每个操作的参数。包括输入输出参数。
  3. 认证方法。
  4. 连接信息,声明,使用团队和其他信息。

Open API 规范可以使用 YAML 或 JSON 格式进行编写。这样更利于我们和机器进行阅读。 OpenAPI 规范(OAS)为 RESTful API 定义了一个与语言无关的标 准接口,允许人和计算机发现和理解服务的功能,而无需访问源代码, 文档或通过网络流量检查。正确定义后,消费者可以使用最少量的实 现逻辑来理解远程服务并与之交互。然后,文档生成工具可以使用 OpenAPI 定义来显示 API,使用各 种编程语言生成服务器和客户端的代码生成工具,测试工具以及许多 其他用例。

swagger:

Swagger 是一套围绕 Open API 规范构建的开源工具,可以帮助设 计,构建,记录和使用 REST API。

Swagger 工具包括的组件:

  1. Swagger Editor :基于浏览器编辑器,可以在里面编写 Open API规范。类似 Markdown 具有实时预览描述文件的功能。
  2. Swagger UI:将 Open API 规范呈现为交互式 API 文档。用可视化UI 展示描述文件。也可以对接口进行调试
  3. Swagger Codegen:将 OpenAPI 规范生成为服务器存根和客户端 库。通过 Swagger Codegen 可以将描述文件生成 html 格式和 cwiki 形 式的接口文档,同时也可以生成多种言语的客户端和服务端代码。
  4. Swagger Inspector:和 Swagger UI 有点类似,但是可以返回更多 信息,也会保存请求的实际参数数据。
  5. Swagger Hub:集成了上面所有项目的各个功能,你可以以项目 和版本为单位,将你的描述文件上传到 Swagger Hub 中。在 Swagger Hub 中可以完成上面项目的所有工作,需要注册账号,分免费版和收费版。  

使用 Swagger,就是把相关的信息存储在它定义的描述文件里面(yml 或 json 格式),再通过维护这个描述文件可以去更新接口文档, 以及生成各端代码。

redoc

https://github.com/Redocly/redoc

drf-yasg

Generate real Swagger/OpenAPI 2.0 specifications from a Django Rest Framework API.

功能

  1. 自动生成DRF的基于类的接口文档
  2. Swagger Codegen
  3. swagger ui
  4. redoc

使用

@swagger_auto_schema

  1. method

  2. manual_parameters

    openapi.Parameter

  3. responses

    Schema