API-запросы представляют собой отправку запросов на сервер по определенным эндпоинтам с использованием различных методов HTTP, таких как GET, POST, PUT, DELETE и других. Тестирование API является одной из важных тем для проверки качества работы ПО.Далее вы узнаете про основы:Про API запросыHTTP статусыAPI запросы.API запросы могут быть разных типов в зависимости от выполняемого действия и используемого метода. Вот некоторые из наиболее распространенных типов API запросов:1.) GET: Запрос на получение данных из сервера. Он используется для извлечения информации из ресурса без его изменения.Получение списка всех пользователей:GET /api/usersПолучение информации о конкретном пользователе:GET /api/users/{id}2.) POST: Запрос на создание нового ресурса на сервере. Он используется для отправки данных на сервер для создания нового объекта или выполнения какого-либо действия.Создание нового пользователя:POST /api/users Content-Type: application/json { "name": "John Doe", "email": "johndoe@example.com", "age": 25 }Создание нового заказа:POST /api/orders Content-Type: application/json { "product": "iPhone", "quantity": 2, "customer_id": "12345" }3.) PUT: Запрос на обновление существующего ресурса на сервере. Он используется для изменения информации или состояния существующего ресурса.Обновление информации о пользователе:PUT /api/users/{id} Content-Type: application/json { "name": "Jane Smith", "email": "janesmith@example.com", "age": 30 }Обновление информации о заказе:PUT /api/orders/{id} Content-Type: application/json { "product": "Samsung Galaxy", "quantity": 3, "customer_id": "54321" }4.) DELETE: Запрос на удаление существующего ресурса на сервере. Он используется для удаления ресурса по его идентификатору или другому уникальному идентификатору.Удаление пользователя:DELETE /api/users/{id}Удаление заказа:DELETE /api/orders/{id}5.) PATCH: Запрос на частичное обновление существующего ресурса на сервере. Он используется для изменения только некоторых полей или атрибутов ресурса, не затрагивая остальные.Частичное обновление информации о заказе:PATCH /api/orders/{id} Content-Type: application/json { "quantity": 5 }Частичное обновление информации о пользователе:PATCH /api/users/{id} Content-Type: application/json { "email": "newemail@example.com" }HTTP статусы.HTTP статусы являются важной частью коммуникации между клиентом и сервером в API. Они предоставляют информацию о результате выполнения запроса и помогают клиентскому приложению принять соответствующие действия. Вот некоторые распространенные примеры использования HTTP статусов в API:200 OK: Запрос успешно выполнен. В ответе содержится запрашиваемая информация.201 Created: Запрос успешно выполнен, и в результате был создан новый ресурс.204 No Content: Запрос успешно выполнен, но в ответе нет содержимого.400 Bad Request: Запрос содержит некорректные данные или не может быть обработан сервером.401 Unauthorized: Требуется аутентификация для доступа к ресурсу.403 Forbidden: У клиента нет разрешения на доступ к ресурсу.404 Not Found: Запрашиваемый ресурс не найден на сервере.500 Internal Server Error: Произошла внутренняя ошибка сервера при обработке запроса.Примеры использования HTTP статусов в API:1.) Запрос информации о пользователе:URL: https://api.example.com/users/123Метод: GETОтвет: Код статуса: 200 OKТело ответа: {"id": 123, "name": "John Doe", "email": "john@example.com"}2.) Создание нового пользователя:URL: https://api.example.com/usersМетод: POSTТело запроса: {"name": "Alice", "email": "alice@example.com"}Ответ: Код статуса: 201 CreatedТело ответа: {"id": 456, "name": "Alice", "email": "alice@example.com"}3.) Попытка доступа к защищенному ресурсу без аутентификации:URL: https://api.example.com/protected-resourceМетод: GETОтвет: Код статуса: 401 UnauthorizedТело ответа: {"message": "Authentication required"}4.) Запрос несуществующего ресурса:URL: https://api.example.com/nonexistent-resource. Метод: GETОтвет: Код статуса: 404 Not FoundТело ответа: {"message": "Resource not found"}Также рекомендую к изучению статью тоже про API:Подпишись: t.meЗаписки Тестировщика / Василий ВолгинКанал про тестирование и мир IT. Здесь автор делится знаниями и помогает войти в IT. Немного о себе: - являюсь full stack тестировщиком - боевой опыт 2 года (пока что) Личка: @VasiliiVolginВасилий Волгин - full stack тестировщик