Вы не можете.Ну, вы можете, но это грязно.
У вас есть два типа пользовательских ошибок, и клиент захочет иметь возможность проанализировать оба, плюс ответ с ошибкой.
Очевидно, вы можете просто провалитьсякогда вы десериализуете на стороне клиента.
Обычно вы проверяете httpcode, а если его нет 200, вы знаете, что десериализуете объект ошибки.Вы можете попробовать первый стиль, а затем второй, если это бросает.Но это не лучший подход.
Лучше избавиться от одного из ваших пользовательских форматов ошибок.
Обработка ошибок вашего контроллера - худшая из двух.Он не будет проходить через коды ошибок, такие как 401, если у вас есть зависимость, которая использует тот же аутентификатор.
Но, если серьезно, оболочка просто сбивает с толку то, что клиент должен проверить, чтобы проверить, хорош ответ или нет.Пусть клиент сгенерирует исключение, когда сервер вернет исключение.Не оборачивайте все это в пользовательский объект, и у вызывающего кода есть if(response.IsError) { throw..}
, замусоренный везде