Как добавить запись в конечную точку webflux весной- mvc? - PullRequest
0 голосов
/ 31 марта 2020

У меня есть приложение spring-mvc с другим @RestController. Теперь я хочу добавить конечную точку Mono<String> и записать метку времени запроса с URL-адресом, а также метку времени ответа.

Но как? Я не могу просто @EnableWebFlux, поскольку мне пришлось бы отключить spring- mvc для этого.

Как я могу зарегистрировать явный фильтр для конечной точки webflux, который ловит при вызове, и прямо перед тем, как ответ будет записан обратно асинхронно c?

@RestController
public class FluxService {
   @PostMapping
   public Mono<String> post() {
         return webClient.post().uri(uri).bodyValue(payload).retrieve().bodyToMono(String.class);
   }
}

Мне нужна расширенная регистрация в конечной точке @PostMapping, а не в webClient!

1 Ответ

0 голосов
/ 01 апреля 2020

MVC - это API, основанный на блокировке / сервлете, смешивать его с webflux не получится. Они используют разные фильтры, безопасность и c, так как MVC предполагает много вещей ThreadLocal. ( Могу ли я использовать Spring Mvc и webflux вместе? )

Если вы действительно хотите смешать их таким образом, вы можете использовать .doOnNext (), как только вы получите моно и вызовете регистратор есть.

...