Перейти к основному содержимому

Макеты интерфейса

Ссылка на макеты: https://unidraw.io/app/board/0c144766068534335ca1

В рамках задания для детального описания API были выбраны три основных экрана: «Лента объявлений», «Карточка объявления» и «Создание объявления». Остальные экраны сохранены на макете интерфейса, однако в текущую спецификацию не включались.

Роуты

ЭкранРоут
Лента объявлений/ads
Карточка объявления/ads/:id
Создание объявления/ads/new

Endpoints

Лента объявлений /ads

Элемент или действиеEndpointМетодЧто делает
Первичная загрузка ленты/api/ads/searchPOSTВозвращает первую страницу кратких карточек объявлений
Поиск и фильтрация/api/ads/searchPOSTВозвращает список объявлений по строке поиска и выбранным фильтрам
Кнопка «Показать ещё»/api/ads/searchPOSTВозвращает следующую страницу объявлений с теми же фильтрами
Получить категории для фильтра/api/categoriesGETВозвращает список категорий

Карточка объявления /ads/:id

Элемент или действиеEndpointМетодЧто делает
Загрузка карточки объявления/api/ads/{id}GETВозвращает полные данные объявления
Откликнуться/api/ads/{id}/responsesPOSTСоздаёт отклик
Пожаловаться/api/ads/{id}/reportsPOSTСоздаёт жалобу

Создание объявления /ads/new

Элемент или действиеEndpointМетодЧто делает
Получить категории/api/categoriesGETВозвращает список категорий для формы
Загрузить фото/api/media/photosPOSTЗагружает фото отдельно от публикации объявления
Опубликовать объявление/api/adsPOSTСоздаёт объявление типа «Потерял» или «Нашёл»