如何在 Spring Webflux 中获取引用网址?

Par*_*ras 3 java spring-webflux spring-boot-2 spring-reactive spring5

如何在 Spring Webflux 中获取引用网址?我尝试查看ServerWebExchange exchange对象中的标头属性,但找不到相同的属性。有人可以帮我吗?

Mic*_*rry 5

您只需将其作为普通标头获取 - 使用什么机制来执行此操作并不重要,因为它们都具有标头访问权限。

我试图查看标题属性ServerWebExchange

如果您想要它ServerWebExchange,您绝对可以通过以下方式获得:

serverWebExchange.getRequest().getHeaders().getFirst("referer");
Run Code Online (Sandbox Code Playgroud)

如果您希望将其作为普通 REST 映射的参数,您可以使用@RequestHeader

@GetMapping("/greeting")
public Mono<String> greeting(@RequestHeader("referer") Optional<String> referer) {
    //...
}
Run Code Online (Sandbox Code Playgroud)

或者如果您使用的是ServerRequest

public Mono<ServerResponse> greeting(ServerRequest request) {
    String referer = request.headers().firstHeader("referer");
    //...
}
Run Code Online (Sandbox Code Playgroud)