Spring Web Reactive | 2. WebClient | 2.6. Attributes
요청에 속성을 추가 할 수 있다. 이것은 정보를 필터 체인에 전달 특정 요청에 대한 필터의 동작에 영향을 미치는 경우에 유용하다. 예를 들면 아래와 같다.
Java
WebClient client = WebClient.builder()
.filter((request, next) -> {
Optional<Object> usr = request.attribute("myAttribute");
// ...
})
.build();
client.get().uri("https://example.org/")
.attribute("myAttribute", "...")
.retrieve()
.bodyToMono(Void.class);
}
Kotlin
val client = WebClient.builder()
.filter { request, _ ->
val usr = request.attributes()["myAttribute"];
// ...
}
.build()
client.get().uri("https://example.org/")
.attribute("myAttribute", "...")
.retrieve()
.awaitBody<Unit>()
defaultRequest
콜백을 WebClient.Builder
레벨에서 글로벌 구성을 할 수 있는 점에 유의해라. 이렇게 하면 모든 요청에 속성을 삽입 할 수 있다. 이는 예를 들어 Spring MVC 응용 프로그램에서 사용하여 ThreadLocal
데이터를 기반으로 요청 속성을 설정할 수 있다.
최종 수정 : 2021-04-12