☝️ Протокол HTTP: что нужно знать системному аналитику, чтобы изучать REST API ☝️
И чтобы вы действительно поняли значение слов “архитектурный стиль”, когда мы в следующих постах будем подробнее разбирать определение REST API, я хочу рассказать про протокол HTTP.
🔗 Еще подробнее про связь HTTP и REST API в этой статье.
#RestApiGA
REST API — это архитектурный стиль, использующий HTTP в качестве протокола передачи данных (или просто: основанный на протоколе HTTP).
HTTP
— это протокол прикладного уровня, используемый для передачи данных между клиентом и сервером в Интернете.
И чтобы вы действительно поняли значение слов “архитектурный стиль”, когда мы в следующих постах будем подробнее разбирать определение REST API, я хочу рассказать про протокол HTTP.
#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥31❤12👍6🔥6🥰2
👩💻🧑💻 Когда Системный Аналитик работает с REST API 👩💻🧑💻
Когда затрагивают тему REST API, то полезно знать, что могут требовать от Системного Аналитика.
Предлагаю вам чек-лист, который вы всегда можете применить, чтобы оценить свой текущий круг обязанностей и то, что может ожидать вас в будущих проектах 🙌
👉 При создании новой функциональности
У вас в команде Frontend и Backend разрабатываются отдельно.
Frontend / Мобильные приложения взаимодействуют с Backend по REST API.
Когда в системе нужно добавить новую функциональность, то от аналитика ожидают, что он может
со стороны Backend - спроектировать REST API методы:
▫️ Определить REST API методы, которые нужно разработать для обеспечения работы Frontend.
▫️ Описать алгоритмы их работы, которые будут программировать разработчики.
▫️ Продумать требования к обработке ошибок для этих алгоритмов.
▫️ Сделать ролевую модель доступов к REST API методам.
▫️ Спроектировать структуру API-методов:
+ на естественном языке описать входные параметры запроса и параметры ответа на запрос.
+ продумывать техническую реализацию и описывать сразу тип метода (GET, POST, ...), endpoint (URL), query-параметры, headers запроса и ответа, тело JSON запроса и ответа, статус-код ответа.
▫️ Описывать маппинги (сопоставление) данных между БД и параметрами API-методов (в URL, JSON).
▫️ Формировать техническую API-документацию, которую в дальнейшем будут использовать разработчики: в Postman, Confluence или Swagger (OpenAPI).
со стороны Frontend - подключение разработанного на Backend REST API метода:
▫️ Читать техническую REST API-документацию.
▫️ Проверять работу готовых REST API методов через Postman, чтобы убедиться, что все работает так, как описано в документации.
▫️ Описывать маппинги (сопоставление) данных между UI и параметрами API-методов (в URL, JSON).
👉 Интеграция систем - подключение внешних систем
Состав подзадач аналогичен подключению API на Frontend.
Только работа ведется не с внутренней документацией, а с чужой - на внешние системы.
👉 Интеграция систем - создание интеграционных API-методов
Нужно сделать REST API-метод на Backend, который будет вызывать любой API внешней системы (хоть REST, хоть SOAP, хоть GraphQL).
Состав подзадач аналогичен проектированию API-методов на Backend.
Только маппиг данных теперь будет не только для БД и параметрами нашего API-метода (в URL, JSON). К нему добавятся еще и параметры внешней системы.
👉 Для анализа ошибок работы ПО
Что-то пошло не так при работе Frontend (или мобильного приложения)?
Открываем консоль.
Анализируем запросы и ответы REST API методов.
Тестируем сложные ситуации через Postman, смотрим на результаты и ищем причины ошибок.
Рекомендация:
Для Системного аналитика важно понимать REST API не только с точки зрения возможностей, но и с точки зрения ограничений, типовых проблем и ошибок в проектировании. Чем лучше вы их понимаете, тем качественнее будет работать ПО разработанное по вашим требованиям.
#RestApiGA
Когда затрагивают тему REST API, то полезно знать, что могут требовать от Системного Аналитика.
Предлагаю вам чек-лист, который вы всегда можете применить, чтобы оценить свой текущий круг обязанностей и то, что может ожидать вас в будущих проектах 🙌
👉 При создании новой функциональности
У вас в команде Frontend и Backend разрабатываются отдельно.
Frontend / Мобильные приложения взаимодействуют с Backend по REST API.
Когда в системе нужно добавить новую функциональность, то от аналитика ожидают, что он может
со стороны Backend - спроектировать REST API методы:
▫️ Определить REST API методы, которые нужно разработать для обеспечения работы Frontend.
▫️ Описать алгоритмы их работы, которые будут программировать разработчики.
▫️ Продумать требования к обработке ошибок для этих алгоритмов.
▫️ Сделать ролевую модель доступов к REST API методам.
▫️ Спроектировать структуру API-методов:
+ на естественном языке описать входные параметры запроса и параметры ответа на запрос.
+ продумывать техническую реализацию и описывать сразу тип метода (GET, POST, ...), endpoint (URL), query-параметры, headers запроса и ответа, тело JSON запроса и ответа, статус-код ответа.
▫️ Описывать маппинги (сопоставление) данных между БД и параметрами API-методов (в URL, JSON).
▫️ Формировать техническую API-документацию, которую в дальнейшем будут использовать разработчики: в Postman, Confluence или Swagger (OpenAPI).
со стороны Frontend - подключение разработанного на Backend REST API метода:
▫️ Читать техническую REST API-документацию.
▫️ Проверять работу готовых REST API методов через Postman, чтобы убедиться, что все работает так, как описано в документации.
▫️ Описывать маппинги (сопоставление) данных между UI и параметрами API-методов (в URL, JSON).
👉 Интеграция систем - подключение внешних систем
Состав подзадач аналогичен подключению API на Frontend.
Только работа ведется не с внутренней документацией, а с чужой - на внешние системы.
👉 Интеграция систем - создание интеграционных API-методов
Нужно сделать REST API-метод на Backend, который будет вызывать любой API внешней системы (хоть REST, хоть SOAP, хоть GraphQL).
Состав подзадач аналогичен проектированию API-методов на Backend.
Только маппиг данных теперь будет не только для БД и параметрами нашего API-метода (в URL, JSON). К нему добавятся еще и параметры внешней системы.
👉 Для анализа ошибок работы ПО
Что-то пошло не так при работе Frontend (или мобильного приложения)?
Открываем консоль.
Анализируем запросы и ответы REST API методов.
Тестируем сложные ситуации через Postman, смотрим на результаты и ищем причины ошибок.
Рекомендация:
Для Системного аналитика важно понимать REST API не только с точки зрения возможностей, но и с точки зрения ограничений, типовых проблем и ошибок в проектировании. Чем лучше вы их понимаете, тем качественнее будет работать ПО разработанное по вашим требованиям.
#RestApiGA
👍29❤5🥰2👌2😁1
Каждый месяц в GetAnalyst мы проводим продвинутые практикумы, посвященные проектированию БД и SQL.
Тема этого месяца:
План практики:
1. Нефункциональные требования и их связь с БД.
2. Понятие индексов в БД и их назначение. Разбор примеров.
3. Практика: знакомство с БД проекта и определение таблиц с индексами.
4. Проблемы избыточной оптимизации БД.
5. Индексы в постановках задач на разработчиков.
👨💻 Этот практикум идеально подходит для системных аналитиков, стремящихся углубить свои знания и навыки в области проектирования баз данных и оптимизации систем.
Присоединяйтесь к нам 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍9
📗 REST API - главные принципы, про которые спрашивают на собеседованиях 📗
REST API — это архитектурный стиль для создания веб-сервисов, основанный на протоколе HTTP.
То, что REST API основан на протоколе HTTP, означает, что все принципы работы, структура запросов и ответов, будут также применимы и для REST API.
Архитектурный стиль REST приносит для HTTP дополнительные правила и принципы, по которым должен происходить обмен данными в Интернете 👇
Главные принципы REST:
1. Строгое разделение клиента и сервера
2. Единый интерфейс
3. Без сохранения состояния (Stateless)
4. Многоуровневая система
5. Кэширование
6. Выполнение кода по запросу
В картинках к посту просто и с примерами разобрала эти принципы.
Это не самая ценная в работе информация, но перечень этих принципов и их понимание могут спрашивать на собеседованиях 👌
#RestApiGA
REST API — это архитектурный стиль для создания веб-сервисов, основанный на протоколе HTTP.
То, что REST API основан на протоколе HTTP, означает, что все принципы работы, структура запросов и ответов, будут также применимы и для REST API.
Архитектурный стиль REST приносит для HTTP дополнительные правила и принципы, по которым должен происходить обмен данными в Интернете 👇
Главные принципы REST:
1. Строгое разделение клиента и сервера
2. Единый интерфейс
3. Без сохранения состояния (Stateless)
4. Многоуровневая система
5. Кэширование
6. Выполнение кода по запросу
В картинках к посту просто и с примерами разобрала эти принципы.
Это не самая ценная в работе информация, но перечень этих принципов и их понимание могут спрашивать на собеседованиях 👌
#RestApiGA
🔥39❤10👍10😁2🤩2
📌 Проект по REST API - Электронная Библиотека #ElibraGA 📌
Каждый месяц в канале GetAnalyst мы изучаем навыки для системных аналитиков через разбор проектов.
Этот месяц мы посвятим проектированию методов REST API для приложения электронной библиотеки #ElibraGA.
В ходе разбора темы я буду делать фокус на:
✅ разработку корпоративных стандартов REST API в компании, которые помогают работать над проектом,
✅ документирование REST API в Swagger.
📚 О проекте 👇
Пользователи-читатели:
+ Регистрируются на платформе через веб- или мобильное приложение
+ Оплачивают подписку, которая дает возможность скачивать 1, 3, 5 или 15 книг в месяц.
+ Получают доступ к списку книг
+ Могут скачать книгу
Администраторы платформы:
+ Добавляют новые книги
+ Редактируют или удаляют существующие
+ Просматривают полный список пользователей-читателей
+ Блокируют и активируют аккаунты читателей
+ Смотрят информацию о подписках и платежах
👉 Наши задачи по проектированию REST API методов
▫️ Сделать с нуля методы POST, GET, PUT, PATCH, DELETE
▫️ Научиться описывать JSON
▫️ Создать задачи на разработчиков
▫️ Формировать корпоративный стандарт по дизайну REST API для проекта
▫️ Создать документацию в Swagger (OpenAPI)
Подписаны на канал?
Значит вы участвуете в проекте и получаете новый опыт 🤝
Проект объявляю открытым!🎉
#RestApiGA
Каждый месяц в канале GetAnalyst мы изучаем навыки для системных аналитиков через разбор проектов.
Этот месяц мы посвятим проектированию методов REST API для приложения электронной библиотеки #ElibraGA.
В ходе разбора темы я буду делать фокус на:
✅ разработку корпоративных стандартов REST API в компании, которые помогают работать над проектом,
✅ документирование REST API в Swagger.
📚 О проекте 👇
Пользователи-читатели:
+ Регистрируются на платформе через веб- или мобильное приложение
+ Оплачивают подписку, которая дает возможность скачивать 1, 3, 5 или 15 книг в месяц.
+ Получают доступ к списку книг
+ Могут скачать книгу
Администраторы платформы:
+ Добавляют новые книги
+ Редактируют или удаляют существующие
+ Просматривают полный список пользователей-читателей
+ Блокируют и активируют аккаунты читателей
+ Смотрят информацию о подписках и платежах
👉 Наши задачи по проектированию REST API методов
▫️ Сделать с нуля методы POST, GET, PUT, PATCH, DELETE
▫️ Научиться описывать JSON
▫️ Создать задачи на разработчиков
▫️ Формировать корпоративный стандарт по дизайну REST API для проекта
▫️ Создать документацию в Swagger (OpenAPI)
Подписаны на канал?
Значит вы участвуете в проекте и получаете новый опыт 🤝
Проект объявляю открытым!
#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥59👍16❤2😁1