Домашнее задание к занятию «REST API»
Перед вами домашнее задание по теме «REST API».
Цель задания: Научиться проектировать REST API с учётом полученных знаний.
Контекст:
Кинотеатр «Искорка» показывает фильмы для детей и подростков.
У кинотеатра есть онлайн-расписание и онлайн-продажа билетов на свои сеансы через систему бронирования.
Информация о забронированных билетах вносится в базу бронирования с указанием данных покупателя. Все данные о сеансах и бронировании хранятся и обрабатываются на одном сервере.
Задание:
К вам обратился кинотеатр с просьбой доработать API, которые были созданы в рамках прошлых домашних заданий. На текущий момент существует несколько проблем, из-за которых использования API является не особо удобным:
При получении в ответе большого количества информации, система, обрабатывающая ответ, не выдерживает нагрузку;
API умеют возвращать ответ только в формате JSON, а хочется иметь базовую возможность получать в ответ XML;
Необходимо точное описание всех ошибочных ответов в случае возникновения какой-либо проблемы.
Вам предстоит задача: доработать API таким образом, чтобы решить указанные проблемы заказчика.
Инструкция к выполнению задания (опционально)
Продумайте и реализуйте механизм пагинации, который был ранее рассмотрен в рамках вебинара. Она может быть реализована как с помощью прикладывания ссылки на следующий запрос, так и с помощью счётчика и указания механизма сдвига: любой, на ваш взгляд. Можете использовать следующие примеры в качестве напутствия:
https://stackoverflow.com/questions/12168624/pagination-response-payload-from-a-restful-api
https://developer.atlassian.com/server/confluence/pagination-in-the-rest-api/
Продумайте ошибочные ответы: как минимум 400, 404, 500. Описание HTTP кодов находится здесь.
Опишите получение ответа как в формате JSON, так и в формате XML. Описание того, как это сделать, находится здесь. Достаточно использовать автогенерацию Swagger.
Формат сдачи работы
Работу необходимо сдать в качестве ссылки на успешно опубликованное API здесь.
Критерии оценивания
По итогу выполнения задания вы получите зачёт.
Задание считается выполненным, если:
описан механизм пагинации: логичный и понятный;
описаны ошибочные ответы;
описана возможность ответа в формате XML.
Задание будет отправлено на доработку, если:
не выполнен любой пункт из задания;
описанный Swagger имеет ошибки валидации;
любой пункт из задания имеет логические несоответствия: некорректный механизм пагинации, нелогичные HTTP коды.
Дмитрий
ОСЭК
Благодарю!Работа выполнена на отлично!!!Рекомендую всем данного эксперта!
Анастасия
РГУП
Работа выполнена досрочно, всегда на связи, спасибо большое исполнителю ?
Кубеева
Синергия
Спасибо Вам, Сергей! Вы просто молодец! Работа выполнена быстро, досрочно и на отлично! Вс...
Кривенцова
Самообразование
Хочется отметить строгость и аккуратность ответов, точность в следовании формулировкам зад...