Каков наилучший способ вернуть разные типы ResponseEntity из одного и того же метода контроллера? - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть метод контроллера, который обычно возвращает ResponseEntity .Клиент загружает этот ответ и, по существу, может загружать файлы по идентификатору из моего сервиса.

Однако, если при получении файла произошла ошибка, я хочу вернуть ResponseEntity для отображения сообщения об ошибке (и другой код состояния).

В настоящее время я достигаю этого, создав собственный класс, расширяющий RuntimeException.Это перехватывается @ControllerAdvice, который, в свою очередь, возвращает ResponseEntity .

Мне было интересно, есть ли лучший способ решения этой проблемы?Первоначально я использовал ResponseEntity >, где ControllerResult - это класс-оболочка с универсальным параметром для данных.Это позволило мне просто установить нулевые данные, если произошла ошибка, переключить логическое значение hasError и проверить это в контроллере.Однако это привело к тому, что Spring автоматически преобразовал байтовый массив в строку base64 (не знаю, почему).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...