2.6. Attributes

편집일시: 2021-04-12 14:10 조회수: 180 댓글수: 0
요청에 속성을 추가 할 수 있다. 이것은 정보를 필터 체인에 전달 특정 요청에 대한 필터의 동작에 영향을 미치는 경우에 유용하다. 예를 들면 아래와 같다. 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` 데이터를 기반으로 요청 속성을 설정할 수 있다.

이전 글 : 2.5. Filters
다음 글 : 2.7. Context