lorsque j'envoie un fichier et reçois un tableau d'octets, j'ai toujours un problème avec webflux pour recevoir le tableau. l'erreur générée:
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
Maintenant, comment résoudre ce problème dans Webflux?
Ce workerd pour moi
Créez un bean dans votre classe de configuration ou dans la classe principale Springbootapplication
@Bean
public WebClient getWebClientBuilder(){
return WebClient.builder().exchangeStrategies(ExchangeStrategies.builder()
.codecs(configurer -> configurer
.defaultCodecs()
.maxInMemorySize(16 * 1024 * 1024))
.build())
.build();
}
Ensuite, accédez à la classe souhaitée dans laquelle vous souhaitez utiliser le client Web
@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)
}