While sending a file I receive an array of bytes. I always have a problem with webflux to receive an array. the error thrown as below :
org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144
at org.springframework.core.io.buffer.LimitedDataBufferList.raiseLimitException(LimitedDataBufferList.java:101)
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException
Do you now how to resolve that in webflux ?
This workerd for me
Create a bean in your one of the configuration class or the main Springbootapplication class
@Bean
public WebClient getWebClientBuilder(){
return WebClient.builder().exchangeStrategies(ExchangeStrategies.builder()
.codecs(configurer -> configurer
.defaultCodecs()
.maxInMemorySize(16 * 1024 * 1024))
.build())
.build();
}
Next go to your desired class where you want to use the webclient
@RestController / @Bean/ @Service
public class PaySharpGatewayController {
@Autowired
WebClient webClient;
public void test(){
String out = webClient
.get()
.uri("end point of an API")
.retrieve()
.bodyToMono(String.class)
.block();
sysout(out)
}