OpenAPI 3.0 中文文档

OpenAPI 3.0 中文文档是一份详细的 API 文档,其中包含了 OpenAPI 规范的所有内容,如 API 的描述、请求和响应等信息。

用 Apifox,节省研发团队的每一分钟

OpenAPI 3.0 中文文档

免费使用 Apifox

相关推荐

最新文章

API

一体化协作平台

API 设计

API 文档

API 调试

自动化测试

API Mock

API Hub

立即体验 Apifox
目录

OpenAPI

今天给大家讲一下 OpenAPI 3.0 文档中的一些重要点。

文档地址:https://openapi.apifox.cn/

OpenAPI 3.0 规范

OpenAPI 对象

OpenAPI 文档是由一个个对象组成的,这些对象包括了:

  • OpenAPI Object:整个 OpenAPI 文档对象
  • Info Object:描述文档信息的对象
  • Servers Object:描述服务端的对象
  • Components Object:描述组件的对象
  • Paths Object:描述接口路径的对象
  • Tag Object:接口分组对象
  • ExternalDocs Object:拓展文档对象
  • Security Object:安全性对象

通过这些对象的组成,并且生成一个 JSON 或者 YAML 文件,这就是 OpenAPI 文档。

必不可少的 OpenAPI 对象

一个最基本、最原始的 OpenAPI 对象长这样,这其中包含了三个 OpenAPI 必不可少的对象:

  • OpenAPI Object
  • Info Object
  • Paths Object
openapi: "3.0.2"
info:
  title: openAPI Demo
  version: '1.0'
paths: {}

Info Object

  • title: 标题
  • description: API 描述
  • version:版本号
  • license:许可证信息
  • contact:联系人信息
  • terms of service:服务条款
openapi: "3.0.2"
info:
  title: openAPI Demo
  description: "This is an API program for teaching"
  version: '1.1'
  termsOfService: "https://openweathermap.org/terms"
  contact:
    name: "api developer"
    url: "http://myblog.cn"
    email: "youemai@gmail.com"
  license:
    name: "Apache 2.0"
    url: "http://springdoc.org"
paths: {}

可以看到文档中的效果。

Swagger 效果

Paths Object

  • tags:用于对 endpoint 进行分组的组名
  • summary:操作对象的摘要信息,最好限制在 5-10 字以内,主要作为概览展示
  • description:操作对象的描述信息,尽可能的详细,展示细节信息
  • operationId:操作对象的唯一 ID
  • parameters:该端点的请求参数对象,描述如下,( requestBody 描述不在此列包含系列属)
  • name:参数名称
  • in:参数出现的位置,通常是 header,path,query,cookie
  • description:参数的描述(支持 markdown)
  • required:必填项
  • deprecated:是否弃用
  • allowEmptyValue:允许提交空值
  • style:参数序列化方式
  • explode:与数组相关的参数
  • schema:参数的模型
  • example:媒体类型的示例
  • requestBody:请求主体的描述,还可以包含一个指向 components 的 $ref 指针
  • response:响应主体的描述,通常使用标准的 HTTP 状态码,可以包含指向 components 的 $ref 指针
  • callbacks:回调对象和回调信息的描述,较为少见,不过多介绍
  • deprecated:标识该 path 是否被弃用
  • security:仅用于覆盖全局的安全授权方法
  • servers:仅用于覆盖全局的服务器访问对象
paths:
  /weather:
    get:
      tags:
      summary:
      description:
      operationId:
      externalDocs:
      parameters:
      responses:

Parameters Object

paths:
  /weather:
    get:
      tags:
      - Current Weather Data
      summary: "Call current weather data for one location."
      description: "^_^"
      operationId: CurrentWeatherData
      parameters:
      - name: q
        in: query
        description: "^_^"
        schema:
          type: string

Responses Object

responses:
  200:
    description: Successful response
    content:
      application/json:
        schema:
          title: Sample
          type: object
          properties:
            placeholder:
              type: string
              description: Placeholder description

  404:
    description: Not found response
    content:
      text/plain:
        schema:
          title: Weather not found
          type: string
          example: Not found

可以看到文档中的效果:

文档效果

Security Object

OpenAPI 支持的四种授权的方式:

  • API key
  • HTTP
  • OAuth 2.0
  • Open ID Connect

如果使用 API key 的话,需要用到 app_id 这个字段,Security Object包含以下几个字段:

  • type:授权协议,包含了 apiKey、http、oauth2、openIdConnect
  • description:描述授权方式
  • name:秘钥名称
  • in:秘钥的位置,包含 query、header、cookie
components:
  ...
  securitySchemes:
    app_id:
      type: apiKey
      description: API key to authorize requests.
      name: appid
      in: query

可以在文档中看到此效果:

文档效果

Tags Object

主要是用来进行接口分组的对象:

paths:
  /pets:
    get:
      summary: List all pets
      operationId: listPets
      tags:
        - pets
tags:
  - name: pets
    description: "Chimelong Animal Happy World"

我们可以看到以下的效果:

ExternalDocs Object

此对象不太常用,主要用来做外部文档的引用。

externalDocs:
  description: externalDocs API Documentation
  url: https://openweathermap.org/api
ExternalDocs Object

使用 Apifox 管理 OpenAPI API

Apifox 是一款集 API文档、API管理、API测试于一身的超级多功能 API 工具,日常用 Apifox 来管理 OpenAPI 的 API 项目,那是再合适不过了。

Apifox 的 API 管理

Apifox 的 API 管理功能很齐全,包括:

  • 接口数管理
  • operationID
  • Mock 功能
  • 请求定义、请求示例
  • 响应定义、响应示例
  • 唯一标识
Apifox 的 API 管理

Apifox 的自动化测试

Apifox 的自动化测试也很完善,功能包括:

  • 测试用例:可以测试多个接口或接口用例
  • 测试套件:可以测试多个测试用例
  • 可以设置循环数、延迟书、环境、线程数等参数进行运行
  • 支持导出测试报告
  • 支持查看单个接口的测试结果
  • 支持查看测试结果的详细参数
Apifox 的自动化测试

Mock 功能

Apifox 支持 Mock 功能,定义完接口响应之后,通过本地 Mock 功能可得到 Mock 数据。

Mock 功能

点击 发送,即可获取 Mock 数据。

Mock 数据

导出导入 OpenAPI

Apifox 支持导出导入 OpenAPI,如果你想要进行 API 项目迁移的时候,可以考虑下这个功能,能让你以最低的成本,去进行项目迁移。

导入数据
导出数据

关于 Apifox

  • 集成了 API 文档、API 调试、API Mock、API 自动化测试 API 一体化协作平台
  • 拥有更先进的 API 设计/开发/测试工具
  • Apifox = Postman + Swagger + Mock + JMeter

欢迎体验一下,完全免费的哦:在线使用 Apifox

Apifox