Да, есть способ, но не очень красивый. У нас был вид той же проблемы, но в нашем случае мы хотели бы иметь доступ на реактивном контексте, так как мы упорно решили использовать MD C в этом реактивным парадигме, поэтому MD C полагаться на этот контекст.
После долгих обсуждений с обработчиками исключений и советами контроллеров стало совершенно очевидно, что реактивный контекст не может быть доступен там.
Итак, мы расширили AbstractErrorWebExceptionHandler . Здесь есть дескриптор (обмен ServerWebExchange, Throwable throwable) метод, который будет вызываться, когда ваше приложение имеет ошибку. Хорошей частью является то, что существует ServerWebExchange , и вы можете получить доступ к контексту, например: exchange.getAttributes (). Get (MDC_CONTEXT) или к телу, например: exchange.getRequest () .getBody () .
Так что это решило нашу проблему с MD C, но, к сожалению, отображение ошибок пришлось обрабатывать вручную. Я помню, что мы потратили много времени, и в то время это было лучшее решение. Ура!