Я немного запутался в том, как ошибки обрабатываются в REST API Wordpress. В своих примерах они предлагают использовать WP_Error
для возврата ошибок, но WP_REST_Response
имеет код состояния HTTP в качестве второго параметра, что делает его короче и несколько чище на мой вкус.
Итак, я сравниваю способ возврата ошибки:
return new WP_REST_Response(array('error' => 'Error message.'), 400);
С этим:
return new WP_Error('rest_custom_error', 'Error message.', array('status' => 400));
С первой опцией у меня может быть только текст ошибки в моем ответе, и мне этого достаточно. Таким образом, ответ будет выглядеть так:
{"error": "Сообщение об ошибке".}
Со вторым более подробно:
{"code": "rest_custom_error", "message": "message error.", "Data": {"status": 403}}
Но мне также нужно указать код ошибки (первый параметр), который не дает никакого преимущества моей реализации интерфейса. Помимо синтаксиса, мне любопытны различия в производительности, безопасности и перспективных факторах.
Так есть ли причины отдавать предпочтение одному, а не личным предпочтениям?