OpenAPI

OpenAPI – это спецификация для описания REST API. Включает набор объектов JSON с определённой схемой, которая задаёт их наименование, порядок и содержимое. Описание API по спецификации может представлять собой файл JSON, чаще – YAML.

Корневые объекты OpenAPI

openapi. В объекте указываем версию OpenAPI.

openapi: "3.0.2"

info. Объект включает заголовок, описание API, версию, ссылку на лицензию, ссылку на условия обслуживания и контактную информацию.

info:
  title: "OpenWeatherMap API"
  description: "Get the current weather, daily forecast for 16 days, and a three-hour-interval forecast for 5 days for your city. Helpful stats, graphics, and this day in history charts are available for your reference. Interactive maps show precipitation, clouds, pressure, wind around your location stations. Data is available in JSON, XML, or HTML format. **Note**: This sample Swagger file covers the `current` endpoint only from the OpenWeatherMap API. <br/><br/> **Note**: All parameters are optional, but you must select at least one parameter. Calling the API by city ID (using the `id` parameter) will provide the most precise location results."
  version: "2.5"
  termsOfService: "https://openweathermap.org/terms"
  contact:
    name: "OpenWeatherMap API"
    url: "https://openweathermap.org/api"
    email: "some_email@gmail.com"
  license:
    name: "CC Attribution-ShareAlike 4.0 (CC BY-SA 4.0)"
    url: "https://openweathermap.org/price"

servers. В объекте указываем базовый URL, используемый в наших запросах API. Может быть указано несколько путей, к ним можно добавить description.

servers:
  - url: https://api.openweathermap.org/data/2.5/
        description: Production server
  - url: http://beta.api.openweathermap.org/data/2.5/
        description: Beta server
  - url: http://some-other.api.openweathermap.org/data/2.5/
        description: Some other server

paths. Объект включает endpoints и разрешённые методы. Может содержать множество подобъектов, а также ответы на запросы.

components. Объект для хранения переиспользуемых объектов. Переиспользование осуществляется через $ref.

security. Объект указывает протокол безопасности или авторизации, используемый при отправке запросов.

tags. Объект группирует endpoints в Swagger UI.

externalDocs. Объект добавляет ссылки на внешнюю документацию.

Last updated