Ваш первый подход с аннотацией swagger не обработает ваши ошибки в вашем приложении. Это просто для целей документации, чтобы вы могли видеть, как ваш API ведет себя в случае ошибки. С помощью этой аннотации вы настраиваете свою страницу swagger-ui.html
для конечной точки REST, сопоставляете код ошибки с конкретным объектом ответа и добавляете настраиваемое описание для ваших клиентов.
На самом деле ручка например исключения с самоопределенными типами ответов и сообщений, которые вы можете использовать @ControllerAdvice
и определять типы результатов и сообщения. Кроме того, я бы также использовал аннотацию Swagger, чтобы написать текст о случае ошибки и сообщить клиенту, какой объект ответа он может ожидать.
Следующий пост в блоге может помочь вам в написании вашего @ControllerAdvice
clas: http://niels.nu/blog/2016/controller-advice-exception-handlers.html