3.4 KiB
3.4 KiB
Backend содержит несколько API-эндпоинтов. Все они начинаются на /api/v1. Все эндпоинты для изменения или добавления чего-либо требуют JWT в Cookies под названием "jwt". Запросы на любой POST эндпоинт требуют Content-Type: application/json.
User
POST /api/v1/user/create
Требуемые параметры:
username: string
password: string
Возвращаемые параметры:
- Успех: 200 с редиректом на /, в Cookie кладётся JWT под названием "jwt".
- Пользователь уже существует: 409 Such user already exists.
POST /api/v1/user/login
Требуемые параметры:
username: string
password: string
Возвращаемые параметры:
- Успех: 200 с редиректом на /, в Cookie кладётся JWT под названием "jwt".
- Пользователь не существует: 404 User does not exist.
- Неверный пароль: 401 Incorrect password
GET /api/v1/user/posts/:userId
Требуемые параметры:
userId: number
(параметр в url)
Возвращаемые параметры:
- Успех: 200 с JSON-массивом, содержащим все посты пользователя, отсортированные от самого нового до самого последнего.
- Пользователь не существует: 404 User does not exist.
GET /api/v1/user/all
Требуемые параметры:
Возвращаемые параметры:
- Успех: 200 с JSON-массивом, содержащим информацию о всех зарегистрированных пользователях
GET /api/v1/user/by-id/:userId
Требуемые параметры:
userId: number
(параметр в url)
Возвращаемые параметры:
- Успех: 200 с JSON-объектом вида {username: "имя пользователя"}
Post
POST /api/v1/post/create
Требуемые параметры:
message: string
file: file
(можно выбрать только либо файл, либо сообщение)
Возвращаемые параметры:
- Успех: 200 Ok
- Заргужено не медиа: 400 Unknown mime type
PUT /api/v1/post/update/:postId
Требуемые параметры:
postId: number
(параметр в url)message: string
file: file
(можно выбрать только либо файл, либо сообщение)
Возвращаемые параметры:
- Успех: 200 Ok
- Заргужено не медиа: 400 Unknown mime type
- Поста не найдено: 404 Post not found.
DELETE /api/v1/post/:postId
Требуемые параметры:
postId: number
(параметр в url)
Возвращаемые параметры:
- Успех: 200 Ok
- Поста не найдено: 404 Post not found.
GET /api/v1/post/:postId
Требуемые параметры:
postId: number
(параметр в url)
Возвращаемые параметры:
- Успех: 200 с JSON-объектом, описывающим пост
- Поста не найдено: 404 Post not found.