Вы здесь

Как в D8 REST передать собственный текст ошибки при неудачном запросе?

1

Использую сейчас коробочный модуль REST, он видит мою кастомную сущность. Настроил GET для этой сущности
curl --request GET --url 'https://drupal.dev/admin/structure/my_entity/1?_format=json' --user 'user:pwd'
этот запрос работает и всё ок. вопрос в том, как добавить тело к ответу на ошибочный запрос (код ответа не 200)? Например, не проходит авторизация и необходимо не просто 401 отдать, но и добавить в тело JSON, где в определённом формате расписать подробности. Я планирую для каждого ресурса написать свой плагин. Вроде, всё ясно, за исключением кастомного текста при ошибке. Мне смотреть в сторону HttpException или не туда? Отдавать нужно JSON, пример

{
   "status":false,
   "error":{
      "id":1,
      "title":"Не удалось авторизоваться",
      "message":"Неверный логин или пароль",
      
"debug":"Что то пошло не так"
   }
}
Версия Drupal: 
8.x
Вопрос задан 24.03.2017 - 22:50

Мне смотреть в сторону HttpException или не туда?

Да, нужно свой обработчик исключений создать.

Комментарий оставлен 25.03.2017 - 17:17

если интересно, решил в итоге через Middleware API

Комментарий оставлен 28.03.2017 - 21:33

Ответы