-1

春の反応ウェブ:

Spring Boot 2.2.* の早い段階で、DefaultErrorAttributes を拡張するクラスを使用していました。このクラスは、マイクロ サービス全体の例外をグローバルに処理するために使用されました。2.3.1 にアップグレードすると、もう機能しません。2.3.1 バージョンでは、Spring Reactive Web に大きな変更はありません。これを破る変更はありますか?何か変更が必要ですか?入力はありますか?

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;
}

}

4

1 に答える 1

1

私はあなたの答えを見つけました、そしてこれは私のために働きます

@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;
    }


}

私は 2.3.1 バージョンの Spring Boot を持っています

于 2020-08-06T18:40:10.867 に答える