При необходимости используйте HttpException
По умолчанию средство визуализации исключений в CakePHP будет использовать сообщение об исключении, только когда включен режим отладки или когда исключение имеет тип \Cake\Http\Exception\HttpException
- используйте его (соответственно, один из его подклассов, предоставляемых ядром), когда это уместно!
Для вашего конкретного примера сбоя аутентификации, например, вы должны использовать \Cake\Http\Exception\ForbiddenException
, который сопоставляется с ошибкой HTTP 403. Это правильно с точки зрения HTTP, и это также решит вашу проблему с проглатыванием пользовательских сообщений.
См. Также API> \ Cake \ Http \ Exception \ HttpException
Использовать средство визуализации пользовательских исключений
Также нередко создаются настраиваемые / расширенные средства визуализации исключений для визуализации пользовательских форматов ответов API. Примером может быть, если вы хотите отправить ошибки проверки, которые часто бывают групповыми и даже вложенными.
См., Например, CakePHP 3: обработка / сериализация исключений в RESTful API .