MaxInMemorySize 설정
Codecs는 어플리케이션 메모리 문제를 피하기 위해 메모링레서 데이터를 버퍼링하는데 제한이 있다.
기본적으로 이 값은 256KB로 설정되는데, 이 값이 충분하지 않으면 다음과 같은 오류가 발생한다.
org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer
기본 Codecs의 한계는 다음과 같이 변경한다.
WebClient webClient = WebClient.builder()
.codecs(configurer -> configurer.defaultCodecs().maxInMemorySize(2 * 1024 * 1024))
.build();
Codecs란?
WebClient 에서 Codecs는 데이터의 인코딩 및 디코딩을 처리하는데 사용되는 구성요소이다. 즉 HTTP 요청 및 응답 본문을 읽고 쓸 때 데이터 형식을 변환하고 처리한다. 이는 JSON, XML, HTML, 또는 사용자가 정의한 데이터 형식과 같은 다양한 데이터를 처리할 수 있게 된다. 따라서 Codecs를 사용하여 원하는 데이터 형식으로 요청을 보낼 수 있고, 응답을 수신할 때는 원하는 데이터로 수신 받을 수 있다.
https://docs.spring.io/spring-framework/reference/web/webflux/reactive-spring.html#webflux-codecs
'Spring > WebClient' 카테고리의 다른 글
[WebClient] Retrieve (0) | 2024.03.28 |
---|---|
[WebClient] Configuration Timeout (0) | 2024.03.28 |
[WebClient] Configuration Reactor Netty (0) | 2024.03.28 |
[WebClient] Configuration Default (0) | 2024.03.28 |
[WebClient] WebClient 란? (2) | 2024.03.27 |