Описание функции rest_ensure_response()
Функция rest_ensure_response() используется для обеспечения корректного формата ответа в REST API. Она проверяет переданный объект и преобразует его в объект WP_REST_Response, если это необходимо, что гарантирует, что ответ будет правильно отформатирован и содержит необходимые заголовки
Функция используется во время обработки запросов к REST API, чтобы обеспечить единую структуру ответов, что важно для совместимости с клиентами и библиотеками
Параметры
$response
Тип: mixed
Обязательный: Да
По умолчанию: null
Описание: Ответ, который необходимо гарантировать
Возможные значения:
WP_REST_Response: Объект WP_REST_Response
array: Ассоциативный массив
string: Строка
WP_Error: Объект WP_Error
$status
Тип: int
Обязательный: Нет
По умолчанию: 200
Описание: HTTP статус-код для ответа
Возможные значения:
0: 200
1: 201
2: 204
3: 400
4: 404
5: 500
Возвращаемое значение
Тип: WP_REST_Response
Описание: Объект WP_REST_Response, представляющий ответ
Возможные значения:
• WP_REST_Response при успешном выполнении
• WP_Error если передан неверный ответ
Примеры использования
Создание простого ответа с сообщением ‘Hello, World!’
$response_data = array('message' => 'Hello, World!');
$response = rest_ensure_response($response_data);
return $response;
Ответ будет автоматически преобразован в объект WP_REST_Response
Создание ответа с установкой статуса 201 Created
$response_data = array('status' => 'created');
$response = rest_ensure_response($response_data, 201);
return $response;
Используется для успешного создания ресурса
Обработка ошибки и возврат соответствующего ответа
$error = new WP_Error('error_code', 'Ошибка обработки');
$response = rest_ensure_response($error);
return $response;
Возвращает объект WP_Error при наличии ошибок
Безопасность
Валидация входных данных: Функция проверяет тип переданного ответа
Санитизация: Ответ автоматически очищается WordPress
Рекомендации: Используйте WP_Error для обработки ошибок, чтобы обеспечить согласованность
— Связанные функции
Отправляет статус-код и завершает выполнение сценария
Гарантия корректного ответа для REST API
— Примечания
– Ограничения
Не поддерживает сложные объекты, такие как WP_Query
– Частые проблемы
- Возврат null при неверном формате ответа
- Ошибки могут возникать при неправильных данных в WP_Error