markdown
API для работы с пользователями, объявлениями и комментариями.
http://localhost:8080
Описание: Обновление пароля пользователя.
{
"currentPassword": "string",
"newPassword": "string"
}currentPassword: текущий пароль пользователя (минимум 8 символов, максимум 16).newPassword: новый пароль пользователя (минимум 8 символов, максимум 16).
200: Пароль обновлен успешно.401: Неавторизованный запрос.403: Запрещено.
Описание: Получение информации об авторизованном пользователе.
{
"id": 1,
"email": "user@example.com",
"firstName": "Иван",
"lastName": "Иванов",
"phone": "+7 123 456-78-90",
"role": "USER",
"image": "http://example.com/image.jpg"
}id: ID пользователя.email: Логин пользователя.firstName: Имя пользователя.lastName: Фамилия пользователя.phone: Телефон пользователя.role: Роль пользователя (USER,ADMIN).image: Ссылка на аватар пользователя.
200: Информация о пользователе.401: Неавторизованный запрос.
Описание: Обновление информации о текущем пользователе.
{
"firstName": "string",
"lastName": "string",
"phone": "+7 123 456-78-90"
}firstName: Имя пользователя (минимум 3 символа, максимум 10).lastName: Фамилия пользователя (минимум 3 символа, максимум 10).phone: Телефон пользователя (формат:+7 123 456-78-90).
200: Информация о пользователе обновлена.401: Неавторизованный запрос.
Описание: Обновление аватара пользователя.
image: Файл изображения (обязательный параметр).
200: Аватар успешно обновлен.401: Неавторизованный запрос.
Описание: Регистрация нового пользователя.
{
"username": "string",
"password": "string",
"firstName": "string",
"lastName": "string",
"phone": "+7 123 456-78-90",
"role": "USER"
}username: Логин пользователя (минимум 4 символа, максимум 32).password: Пароль пользователя (минимум 8 символов, максимум 16).firstName: Имя пользователя (минимум 2 символа, максимум 16).lastName: Фамилия пользователя (минимум 2 символа, максимум 16).phone: Телефон пользователя (формат:+7 123 456-78-90).role: Роль пользователя (USERилиADMIN).
201: Пользователь успешно зарегистрирован.400: Некорректный запрос.
Описание: Авторизация пользователя.
{
"username": "string",
"password": "string"
}username: Логин пользователя (минимум 4 символа, максимум 32).password: Пароль пользователя (минимум 8 символов, максимум 16).
200: Пользователь успешно авторизован.401: Неавторизованный запрос.
Описание: Получение всех объявлений.
{
"count": 10,
"results": [
{
"author": 1,
"image": "http://example.com/ad.jpg",
"pk": 123,
"price": 5000,
"title": "Объявление 1"
}
]
}count: Общее количество объявлений.results: Список объявлений (каждое объявление содержит:author,image,pk,price,title).
200: Список объявлений успешно получен.
Описание: Добавление нового объявления.
{
"title": "string",
"price": 5000,
"description": "string",
"image": "file"
}title: Заголовок объявления (минимум 4 символа, максимум 32).price: Цена объявления (целое число, минимум 0).description: Описание объявления (минимум 8 символов, максимум 64).image: Изображение для объявления (обязательное поле).
201: Объявление успешно добавлено.401: Неавторизованный запрос.
Описание: Получение всех комментариев к объявлению.
id: ID объявления.
{
"count": 3,
"results": [
{
"author": 1,
"authorImage": "http://example.com/avatar.jpg",
"authorFirstName": "Иван",
"createdAt": 1616687400000,
"pk": 1,
"text": "Комментарий к объявлению."
}
]
}count: Количество комментариев.results: Список комментариев (каждый комментарий содержит:author,authorImage,authorFirstName,createdAt,pk,text).
200: Комментарии успешно получены.401: Неавторизованный запрос.404: Объявление не найдено.
Описание: Добавление комментария к объявлению.
id: ID объявления.
{
"text": "string"
}text: Текст комментария (минимум 8 символов, максимум 64).
200: Комментарий успешно добавлен.401: Неавторизованный запрос.404: Объявление не найдено.
Описание: Получение информации о конкретном объявлении.
id: ID объявления.
{
"pk": 123,
"authorFirstName": "Иван",
"authorLastName": "Иванов",
"description": "Описание объявления.",
"email": "user@example.com",
"image": "http://example.com/ad.jpg",
"phone": "+7 123 456-78-90",
"price": 5000,
"title": "Объявление 1"
}pk: ID объявления.authorFirstName: Имя автора объявления.authorLastName: Фамилия автора объявления.description: Описание объявления.email: Логин автора объявления.image: Ссылка на изображение объявления.phone: Телефон автора объявления.price: Цена объявления.title: Заголовок объявления.
200: Информация об объявлении.401: Неавторизованный запрос.404: Объявление не найдено.
Описание: Удаление объявления.
id: ID объявления.
204: Объявление удалено.401: Неавторизованный запрос.403: Запрещено.404: Объявление не найдено.
Описание: Обновление информации об объявлении.
id: ID объявления.
{
"title": "string",
"price": 5000,
"description": "string"
}title: Заголовок объявления (минимум 4 символа, максимум 32).price: Цена объявления (целое число, минимум 0).description: Описание объявления (минимум 8 символов, максимум 64).
200: Объявление обновлено.401: Неавторизованный запрос.403: Запрещено.404: Объявление не найдено.