Swagger 规范

Swagger Specification,现称为OpenAPI Specification,用于描述API信息。本文档以yaml格式展示了Swagger文件的基本结构,包括Metadata(元数据)的openapi、info、servers,以及paths、tags等关键部分。例如,info用于定义API的标题、描述和版本,servers则用于设定API服务器地址,paths定义具体接口,tags用于分类API。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

Swagger Specification(Swagger 规范),现在称作 OpenAPI Specification (OpenAPI 规范)。

OpenAPI 规范定义了如何去描述你的 API 信息。

OpenAPI 规范允许你以 json 或 yaml 的语法格式,来编写 Swagger 文件。

基本结构

在 Swagger 文件中,你可以使用 json 或 yaml 的语法,来描述你的 API 。

这里,我们以 yaml 为例,来介绍 Swagger 文档(文件)的基本结构。

下面是一个例子 demo.yaml。

openapi: 3.0.0
info:
  title: Sample API
  description: Optional multiline or single-line description in [CommonMark](http://commonmark.org/help/) or HTML.
  version: 0.1.9

servers:
  - url: http://api.example.com/v1
    description: Optional server description, e.g. Main (production) server
  - url: http://staging-api.example.com
    description: Optional server description, e.g. Internal staging server for testing

paths:
  /users:
    get:
      summary: Returns a list of users.
      description: Optional extended description in CommonMark or HTML.
      responses:
        '200':    # status code
          description: A JSON array of user names
          content:
            application/json:
              schema: 
                type: array
                items: 
                  type: string

注:所有的关键字都区分大小写。

Metadata(元数据)

openapi

定义本文档使用的 Swagger 规范的版本。

info

info 代码块,用于定义 API 整体的信息,如标题、描述、版本等。

servers

servers 代码块,用于定义你的 API 服务器的地址。

你也可以定义多个地址(一个沙箱环境,一个正式环境)。

在 swagger 2.0 规范中,用的是 host 代码块。

tags

用于定义你的 API 的类别。

tags:
- name: "article"
  description: "Access to Petstore orders"
- name: "user"
  description: "Operations about user"

paths

paths 代码块,用于定义具体的 API 接口的信息。

  • /user 具体的 API 名称
  • post 请求类型
  • tags 对应上面的 tags 中的 name 的值
  • summary 摘要
  • description 描述信息
  • parameters 请求参数
  • responses 响应结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值