🟡🟣 Инструменты для работы с API: руководство СА 🟢🟠
Зачем аналитику знать инструменты для тестирования и документирования API?
👉 Интеграции:
СА необходимо убедиться, что API внешней системы будет работать именно так, как описано в документации (если она есть, а если нет - то составить), чтобы затем предоставить информацию разработчикам.
Тестирование API внешних систем в специализированных инструментах помогает выявить проблемы в работе внешних систем на ранних стадиях разработки, несоответствия документации реальности, а также проверить полноту данных и доступность сервисов в целом.
👉 Backend-команды, которым нужно ставить задачи на API:
Нужно уметь самому с нуля проектировать и документировать API, желательно с использованием специализированных инструментов как Postman и Swagger, а не только в Confluence-подобных системах.
Список инструментов, которые помогают системным аналитикам в тестировании и документировании API:
🟠 Postman
🟡 SoapUI
🟣 Insomnia
🟢 Swagger
Подробности в картинках к посту ☝️
+🐶 Bruno - аналог Postman, всё больше завоёвывает сердца аналитиков, его нет в картинках к посту.
👉 Рекомендую поработать со всеми инструментами и выбрать наиболее удобный для себя.
Делюсь практическими гайдами, с которыми вы сможете поработать с инструментами сами, с понятными пошаговыми инструкциями:
🟠 Postman: Практическое руководство с примером тестирования открытого API
🟠 GraphQL — знакомство на практике через Postman [пошаговая инструкция]
🟠 Postman: навык тестирования REST API за вечер
🟢 Swagger - практическое руководство по документированию API
#hardGetAnalyst
Зачем аналитику знать инструменты для тестирования и документирования API?
👉 Интеграции:
СА необходимо убедиться, что API внешней системы будет работать именно так, как описано в документации (если она есть, а если нет - то составить), чтобы затем предоставить информацию разработчикам.
Тестирование API внешних систем в специализированных инструментах помогает выявить проблемы в работе внешних систем на ранних стадиях разработки, несоответствия документации реальности, а также проверить полноту данных и доступность сервисов в целом.
👉 Backend-команды, которым нужно ставить задачи на API:
Нужно уметь самому с нуля проектировать и документировать API, желательно с использованием специализированных инструментов как Postman и Swagger, а не только в Confluence-подобных системах.
Список инструментов, которые помогают системным аналитикам в тестировании и документировании API:
🟠 Postman
🟡 SoapUI
🟣 Insomnia
🟢 Swagger
Подробности в картинках к посту ☝️
+
👉 Рекомендую поработать со всеми инструментами и выбрать наиболее удобный для себя.
Делюсь практическими гайдами, с которыми вы сможете поработать с инструментами сами, с понятными пошаговыми инструкциями:
🟠 Postman: Практическое руководство с примером тестирования открытого API
🟠 GraphQL — знакомство на практике через Postman [пошаговая инструкция]
🟠 Postman: навык тестирования REST API за вечер
🟢 Swagger - практическое руководство по документированию API
#hardGetAnalyst
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤2
📚 Книги по API, которые рекомендуем к прочтению 📚
Если хотите научиться проектировать REST API или готовитесь к собеседованиям на системного аналитика, то это одни из немногих книг, которые реально формируют мышление «API-дизайнера», а не просто перечисляют HTTP-методы 👇
▪️“RESTful Web API: Паттерны и практики”, Майк Амундсен
Про паттерны проектирования REST API, устойчивость к изменениям и разбор практических кейсов.
🔗 Купить
▪️ “Проектирование веб-API”, Арно Лоре
Про дизайн API как продукта, много про OpenAPI и документацию, эволюцию API. Это более “архитектурная” книга, которая формирует базу мышления для аналитиков и разработчиков.
🔗 Купить
▪️ “Непрерывное развитие API. Правильные решения в изменчивом технологическом ландшафте”, Меджуи, Митра, Амундсен, Уайлд
Про жизненный цикл API: версии, совместимость, управление изменениями — то, что в реальных продуктах болит сильнее “как назвать эндпоинт”.
🔗 Купить
▪️ "Паттерны проектирования API", Джей Джей Гивакс
Паттерны и анти-паттерны для согласованного API: контракты, типовые решения, распространенные ошибки проектирования.
🔗 Купить
Добавляйте в свой TO DO лист к прочтению 🤝
Если хотите научиться проектировать REST API или готовитесь к собеседованиям на системного аналитика, то это одни из немногих книг, которые реально формируют мышление «API-дизайнера», а не просто перечисляют HTTP-методы 👇
▪️“RESTful Web API: Паттерны и практики”, Майк Амундсен
Про паттерны проектирования REST API, устойчивость к изменениям и разбор практических кейсов.
🔗 Купить
▪️ “Проектирование веб-API”, Арно Лоре
Про дизайн API как продукта, много про OpenAPI и документацию, эволюцию API. Это более “архитектурная” книга, которая формирует базу мышления для аналитиков и разработчиков.
🔗 Купить
▪️ “Непрерывное развитие API. Правильные решения в изменчивом технологическом ландшафте”, Меджуи, Митра, Амундсен, Уайлд
Про жизненный цикл API: версии, совместимость, управление изменениями — то, что в реальных продуктах болит сильнее “как назвать эндпоинт”.
🔗 Купить
▪️ "Паттерны проектирования API", Джей Джей Гивакс
Паттерны и анти-паттерны для согласованного API: контракты, типовые решения, распространенные ошибки проектирования.
🔗 Купить
Добавляйте в свой TO DO лист к прочтению 🤝
❤11👍1
GET, POST, PUT, PATCH и DELETE - виды методов, часть протокола HTTP. Используются в архитектурном стиле REST API.
Нужны, чтобы стандартизировать взаимодействие между клиентом и сервером.
Каждый метод выполняет определённое действие и соответствует логике CRUD-модели (Create, Read, Update, Delete).
🩷 GET - Чтение данных
Не поддерживает тело - Body (JSON).
Идемпотентен.
💚 POST - Создание ресурсов (объектов в БД)
Поддерживает тело - Body (JSON).
Не идемпотентен.
* Исключения, когда POST используют для чтения: сложные запросы с большим кол-вом фильтров, асинхронные операции.
** Почему в некоторых REST API все POST? Потому что они не REST API, а HTTP API.
💙 PUT - Полная замена и/или создание ресурса
В теле JSON требует полный объект.
Идемпотентен.
* Часто используют только для изменения.
💜 PATCH - Частичное обновление ресурса
В теле JSON передаются только те поля объекта, которые нужно изменить.
Не идемпотентен.
❤️ DELETE - Удаление ресурса.
Не поддерживает тело - Body (JSON).
Идемпотентен.
💛 А что по поводу TRACE, HEAD, OPTIONS, CONNECT?
Могут быть заменены GET-ом.
Очень маленький шанс встретить или применить на практике.
Правильное использование HTTP-методов в REST API упрощает взаимодействие с вашей системой, так как делает API предсказуемым и удобным для разработчиков.
P.S. Ссылка на подкаст про идемпотентность и коммутативность в API
#hardGetAnalyst
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12
REST_API_Пример_требований_Создать_товар_POST_GetAnalyst.pdf
1.1 MB
📚 Заполненный шаблон задачи на REST API - создание товара через POST /products 📚
Ключевые REST API методы:
✅ Поиск по каталогу продуктов (с кэшированием)
Выгрузка требований из Confluence
✅ Редактирование товара для фермера
Выгрузка требований из Confluence
✅ Создание заказа
Финальная выгрузка из Confluence добавлена к этому посту.
На что стоит обратить внимание в этой базе документации:
👉 1. Использование метода POST как на создание, так и на получение данных. Хотя POST в REST предназначен только для создания.
👉 2. PUT на редактирование товара с обоснованием, почему мы всегда хотим отправлять на сервер полный набор параметров, а не только изменённые - что можно делать в PATCH.
👉 3. Наличие нескольких каталогов API на сервере:
+ Поиск продуктов - public
+ Редактирование и создание продуктов - seller-api
Обратите внимание на разницу в полных URL.
👉 4. Оформление требований к обработке ошибок.
👉 5. Алгоритм кэширования в поиске товаров по каталогу.
👉 6. Примеры требований к логированию и мониторигу.
👉 7. Наличие макетов UI и схемы БД, которые были необходимы для работы.
Эти документы — одновременно:
◽️ реальные примеры с проектов,
◽️ решения задач с собеседований на Senior СА (особенно метод поиска с кэшированием).
Сохраняйте подборку в избранное и делитесь с коллегами ❤️🔥
#hardGetAnalyst
Ключевые REST API методы:
✅ Поиск по каталогу продуктов (с кэшированием)
POST /products/search
Выгрузка требований из Confluence
✅ Редактирование товара для фермера
PUT /products/{productId}
Выгрузка требований из Confluence
✅ Создание заказа
POST /products
Финальная выгрузка из Confluence добавлена к этому посту.
На что стоит обратить внимание в этой базе документации:
👉 1. Использование метода POST как на создание, так и на получение данных. Хотя POST в REST предназначен только для создания.
👉 2. PUT на редактирование товара с обоснованием, почему мы всегда хотим отправлять на сервер полный набор параметров, а не только изменённые - что можно делать в PATCH.
👉 3. Наличие нескольких каталогов API на сервере:
+ Поиск продуктов - public
+ Редактирование и создание продуктов - seller-api
Обратите внимание на разницу в полных URL.
👉 4. Оформление требований к обработке ошибок.
👉 5. Алгоритм кэширования в поиске товаров по каталогу.
👉 6. Примеры требований к логированию и мониторигу.
👉 7. Наличие макетов UI и схемы БД, которые были необходимы для работы.
Эти документы — одновременно:
◽️ реальные примеры с проектов,
◽️ решения задач с собеседований на Senior СА (особенно метод поиска с кэшированием).
Сохраняйте подборку в избранное и делитесь с коллегами ❤️🔥
#hardGetAnalyst
❤12
📚 Чек-лист: 42 API-термина, которые спрашивают СА на тех. собеседовании 📚
👉 Ключевые:
1. API (Application Programming Interface)
2. REST API (Representational State Transfer)
3. HTTP-методы запросов
4. Эндпоинты
5. Коды ответов
6. Ограничение частоты запросов (Rate Limiting)
7. Полезная нагрузка (Payload)
8. Заголовки (Headers)
9. Аутентификация
10. Авторизация
11. Пагинация
12. Кэширование
👉 Дополнительно:
1. OAuth
2. JWT Token
3. API Gateway
4. API Keys
5. Basic Authentication
6. Bearer Tokens
7. CORS
8. Webhooks
9. OpenAPI
10. API Versioning (Версионирование API)
11. Content Negotiation
12. Query Parameters
13. Path Parameters
14. API Documentation
15. API Monitoring
16. Throttling
17. Circuit Breaker
18. Idempotency (Идемпотентность)
19. API Proxy
20. Retry Logic (Логика ретраев / повторов)
21. Batch Processing (Пакетная обработка)
22. API Security
23. Health Checks
24. API Testing
25. Mock APIs
26. API Marketplace
27. API Schema
28. Semantic Versioning (Семантическое версионирование)
29. Hypermedia
30. API Deprecation (Устаревание API)
Всё самое важное и нужное на месте 😎
#hardGetAnalyst
👉 Ключевые:
1. API (Application Programming Interface)
2. REST API (Representational State Transfer)
3. HTTP-методы запросов
4. Эндпоинты
5. Коды ответов
6. Ограничение частоты запросов (Rate Limiting)
7. Полезная нагрузка (Payload)
8. Заголовки (Headers)
9. Аутентификация
10. Авторизация
11. Пагинация
12. Кэширование
👉 Дополнительно:
1. OAuth
2. JWT Token
3. API Gateway
4. API Keys
5. Basic Authentication
6. Bearer Tokens
7. CORS
8. Webhooks
9. OpenAPI
10. API Versioning (Версионирование API)
11. Content Negotiation
12. Query Parameters
13. Path Parameters
14. API Documentation
15. API Monitoring
16. Throttling
17. Circuit Breaker
18. Idempotency (Идемпотентность)
19. API Proxy
20. Retry Logic (Логика ретраев / повторов)
21. Batch Processing (Пакетная обработка)
22. API Security
23. Health Checks
24. API Testing
25. Mock APIs
26. API Marketplace
27. API Schema
28. Semantic Versioning (Семантическое версионирование)
29. Hypermedia
30. API Deprecation (Устаревание API)
Всё самое важное и нужное на месте 😎
#hardGetAnalyst
❤17
😁20❤9