Skip to content

Commit

Permalink
Набросок спецификации для API
Browse files Browse the repository at this point in the history
  • Loading branch information
joker77-github committed Oct 19, 2024
1 parent ce39b58 commit 8a960c3
Showing 1 changed file with 105 additions and 0 deletions.
105 changes: 105 additions & 0 deletions specification/specification.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
openapi: 3.1.0

info:
title: API сервер для демо-проекта «Шесть городов».
description: Список ресурсов и маршрутов сервера «Шесть городов».
license:
name: MIT
url: https://opensource.org/licenses/MIT
version: 1.0.0

tags:
- name: offers
description: Действия с объявлениями.
- name: comments
description: Действия с комментариями.
- name: users
description: Действия с пользователем.

paths:
/users/register:
post:
tags:
- users
summary: Регистрация пользователя
description: Регистрирует нового пользователя.

requestBody:
description: Информация для создания нового пользователя.
content:
application/json:
schema:
$ref: '#/components/schemas/createUser'
required: true

responses:
"201":
description: Пользователь зарегистрирован. Объект пользователя.
content:
application/json:
schema:
$ref: '#/components/schemas/user'

"409":
description: Пользователь с таким email уже существует.


/users/login:
post:
tags:
- users
summary: Авторизация пользователя
description: Авторизует пользователя на основе логина и пароля.

get:
tags:
- users
summary: Проверка состояния пользователя
description: Возвращает информацию по авторизованному пользователю.

/users/{userId}/avatar:
post:
tags:
- users
summary: Загрузка аватара
description: Загружает изображение аватара пользователя. Изображение
аватара должно быть в формате `png` или `jpg`.


components:
schemas:
createUser:
type: object

properties:
email:
type: string
example: [email protected]

name:
type: string
example: Keks

password:
type: string
example: 123456

avatar:
type: string
example: avatar.png

isPro:
type: boolean
example: false

user:
type: object

properties:
id:
type: string
example: 6329c3d6a04ab1061c6425ea

email:
type: string
example: [email protected]

0 comments on commit 8a960c3

Please sign in to comment.