3. Первый опыт в OpenAPI
Автор Kosenkov На чтение 2 мин Просмотров 38 Опубликовано Обновлено
openapi: 3.0.3
info:
title: Сервис инвентаризации RenovaTech
version: 0.0.1
servers:
- url: http://localhost:8080/api/v1
description: Dev Server
paths:
/tools:
get:
summary: Метод получения списка инструментов
tags:
- Tools
operationId: getAllTools
responses:
'200':
description: Успешный ответ со списком инструментов
content:
application/json:
schema:
$ref: "#/components/schemas/Tools"
'default':
description: Всё нестандартное
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
post:
summary: Метод создания инструмента
tags:
- Tools
operationId: createTool
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Tool"
responses:
'200':
description: Успешный ответ со списком инструментов
content:
application/json:
schema:
$ref: "#/components/schemas/Tool"
'default':
description: Всё нестандартное
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/tools/{id}:
get:
summary: Метод получения списка инструментов
tags:
- Tools
operationId: getToolById
parameters:
- name: id
in: path
required: true
description: Идентификатор инструмента
example: 77
schema:
type: integer
responses:
'200':
description: Успешный ответ со списком инструментов
content:
application/json:
schema:
$ref: "#/components/schemas/Tool"
'default':
description: Всё нестандартное
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
delete:
summary: Метод удаления инструмента по идентификатору
tags:
- Tools
operationId: deleteToolById
parameters:
- name: id
in: path
required: true
description: Идентификатор инструмента
example: 77
schema:
type: integer
responses:
'200':
description: Успешный ответ со списком инструментов
content:
application/json: {}
'default':
description: Всё нестандартное
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
components:
schemas:
Tool:
type: object
required:
- name
- status
properties:
tool_id:
type: integer
example: 77
name:
type: string
example: Шуруповерт
status:
type: string
enum:
- new
- old
- broken
description: Состояние инструмента
create_date:
type: string
format: 2022-07-01T15:00:00+03
Tools:
type: array
items:
$ref: "#/components/schemas/Tool"
Error:
type: object
required:
- code
- message
properties:
code:
type: integer
message:
type: string