Домашнее задание к занятию «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 коды.
николай
Финансовый университет при правительстве РФ
Спасибо большое Марии! Все выполнено идеально! Очень советую обращаться!
Яна
Рггму
Заказываю не первый раз, всегда заказ выполняется раньше времени и без замечаний.
Алекс
Новосибирский Государственный Педагогический Университет
Работа выполнена МАКСИМАЛЬНО быстро. Намного раньше срока. Огромная благодарность Эксперту...
Диана
Финансово - экономический колледж
Дарина, очень быстро справилась с заданием в программе 1С , без нареканий, будем обращатьс...