API с помощью Swagger
Цель: научиться описывать API с помощью спецификации OpenAPI, описывать конечные точки, параметры, ответы с помощью. Генерировать описание с помощью Swagger.
Содержание и порядок выполнения лабораторной работы
- Изучить основы OpenAPI, Swagger, разобраться в важности документирования API. Изучить основные составляющие Swagger: спецификация OpenAPI, Swagger Editor, Swagger UI и Swagger Codegen.
- Используя наработки из предыдущей лабораторной работы, определить входные параметры, ожидаемые выходные данные и сообщения об ошибках для каждой конечной точки.
- Создать YAML-файл для документации API или JSDoc комментарии для путей, описывающих из фактическую логику работы. Можно использовать Swagger Editor для написания спецификации OpenAPI для API. Спецификация должна включать описание API, каждой конечной точки, ее параметров, ответов и любых требований безопасности, если они есть.
- Протестировать каждую конечную точку API, используя пользовательский интерфейс Swagger, и убедиться, что API работает как ожидается.
- Зафиксировать результаты работы с помощью системы контроля версий git и отправить репозиторий на github.
Требования
- API функционирует и возвращает ожидаемые ответы.
- Документация Swagger ясна и лаконична и включает всю необходимую информацию и соответствует логике работы сервера.
- Для просмотра и взаимодействия с документацией API используется пользовательский интерфейс Swagger.
- Конечные точки API тестируются с помощью пользовательского интерфейса Swagger.
Результаты выполнения лабораторной работы
- Работающий локально сервер с подключением к бд и логикой, которая соответствует требованиям. Код сохранен в системе контроля версий.
- Отдельный документ, содержащий спецификацию OpenAPI для API в YAML или рядом с вашим кодом с помощью JSDoc.
- Пользовательский интерфейс сгенерированные с помощью Swagger UI, показывающий конечные точки API и их ответы.
Источники
- Swagger (OpenAPI 3.0)
- Знакомство со спецификациями OpenAPI и Swagger
- Руководство по документации Swagger
- Документация по пользовательскому интерфейсу Swagger
- Documenting your Express API with Swagger
- How to Document an Express API with Swagger UI and JSDoc
- Пример с JSDoc
Вопросы
- Что такое OpenAPI?
- Назовите основные объекты в спецификации OpenAPI.
- Примеры полей и их значений, используемых для описания API.
- Что такое YAML?
- Чем YAML отличается от JSON?
- Для чего используется JSDoc?
- Для чего используются Swagger Editor, Swagger UI и Swagger Codegen.