Набор статей для полного погружения в OpenApi спецификацию
2. REST API — Как сделать хорошо
4. OpenAPI Generator — Генерация кода по спецификации
5. Dredd автотесты для OpenAPI спецификации
Полная спецификация OpenApi будет выглядеть так:
openapi: 3.0.3
info:
title: Сервис инвентаризации RenovaTech
description: Спецификация OpenApi для RenovaTech
version: 0.0.2
contact:
name: Ivan Kosenkov
url: https://github.com/Bouncer77/DreddMe
email: i.kosenkov77@yandex.ru
servers:
- description: Dev Server
url: http://localhost:8080/api/v1
tags:
- name: Tools
description: "All methods about Tools"
paths:
/tools:
get:
description: Метод получения списка инструментов
tags:
- Tools
operationId: getAllTools
responses:
"200":
description: Успешный ответ со списком инструментов
content:
application/json:
schema:
$ref: '#/components/schemas/Tools'
/tools/{tool_id}:
get:
description: Метод получения инструмента по идентификатору
tags:
- Tools
operationId: getToolById
parameters:
- name: tool_id
in: path
required: true
schema:
type: integer
example: 1
responses:
"200":
description: Успешный ответ со списком инструментов
content:
application/json:
schema:
$ref: '#/components/schemas/Tool'
components:
schemas:
Tool:
type: object
required:
- name
- status
properties:
tool_id:
type: integer
example: 1
name:
type: string
example: Шуруповерт Макита
status:
type: string
example: Новый
description: Состояние инструмента
Tools:
type: array
items:
$ref: '#/components/schemas/Tool' 
