| package com.dy.pipIrrGlobal.config; | 
|   | 
| import org.springframework.http.HttpInputMessage; | 
| import org.springframework.http.HttpOutputMessage; | 
| import org.springframework.http.MediaType; | 
| import org.springframework.http.converter.AbstractHttpMessageConverter; | 
| import org.springframework.http.converter.HttpMessageNotReadableException; | 
| import org.springframework.http.converter.HttpMessageNotWritableException; | 
| import org.springframework.util.StreamUtils; | 
|   | 
| import java.io.IOException; | 
| import java.nio.charset.StandardCharsets; | 
|   | 
| /** | 
|  * @Author: liurunyu | 
|  * @Date: 2024/8/28 15:58 | 
|  * @Description | 
|  */ | 
| public class ByteArrayHttpMessageConverter extends AbstractHttpMessageConverter<byte[]> { | 
|   | 
|     public ByteArrayHttpMessageConverter() { | 
|         super(MediaType.APPLICATION_OCTET_STREAM, new MediaType("application", "octet-stream", StandardCharsets.UTF_8)); | 
|     } | 
|   | 
|     @Override | 
|     protected boolean supports(Class<?> clazz) { | 
|         return byte[].class == clazz; | 
|     } | 
|   | 
|     @Override | 
|     protected byte[] readInternal(Class<? extends byte[]> clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException { | 
|         // Read the byte array from the input message | 
|         return StreamUtils.copyToByteArray(inputMessage.getBody()); | 
|     } | 
|   | 
|     @Override | 
|     protected void writeInternal(byte[] bytes, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException { | 
|         // Write the byte array to the output message | 
|         outputMessage.getBody().write(bytes); | 
|     } | 
| } |