org.springframework.boot.web.reactive.error.DefaultErrorAttributes больше не вызывается в org.springframework.boot: 2.3.1.RELEASE - PullRequest
0 голосов
/ 11 июля 2020

Spring реактивный веб:

Ранее в Spring boot 2.2. * Я использовал класс, расширяющий DefaultErrorAttributes. Этот класс использовался для глобальной обработки исключений для всего микросервиса. Когда я обновляюсь до 2.3.1, он больше не работает. Я не нашел серьезных изменений в Spring Reactive Web в версии 2.3.1. Есть ли какие-нибудь изменения, которые этому мешают? Что-то нам нужно изменить? Любой ввод?

кажется, что DefaultErrorAttributes больше не вызывается. Пример кода здесь.

@Slf4j
@Component
public class GlobalErrorAttributes extends DefaultErrorAttributes{`

@Override
public Map<String, Object> getErrorAttributes(ServerRequest request, 
  boolean includeStackTrace) {
    Map<String, Object> map = super.getErrorAttributes(
      request, includeStackTrace);
    map.put("status", HttpStatus.BAD_REQUEST);
    map.put("message", "username is required");
    return map;
}

}

1 Ответ

0 голосов
/ 06 августа 2020

Я нашел Ваш ответ, и это работает для меня

@Component
@Slf4j
public class ErrorAttributes extends DefaultErrorAttributes
{
    @Override
    public Map<String, Object> getErrorAttributes(ServerRequest request, ErrorAttributeOptions options) {
        
        var attributes = new LinkedHashMap<String, Object>();
        attributes.put("status", HttpStatus.BAD_REQUEST.value());
        attributes.put("message", "bad");
        return attributes;
    }


}

У меня Spring Boot версии 2.3.1

...