IT'S DO
728x90

[error]

spring controller에서 file upload 해서 db에 저장할때, 

Content type 'application/octet-stream' not supported 같은 에러가 나올때 해결하는 방법.

 

[해결]

import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter;
import org.springframework.stereotype.Component;

import java.lang.reflect.Type;

@Component
public class OctetStreamReadMsgConverter extends AbstractJackson2HttpMessageConverter {

    @Autowired
   public OctetStreamReadMsgConverter(ObjectMapper objectMapper) {
      super(objectMapper, MediaType.APPLICATION_OCTET_STREAM);
   }
   
   @Override
   public boolean canWrite(Class<?> clazz, MediaType mediaType) {
      return false;
   }

   @Override
   public boolean canWrite(Type type, Class<?> clazz, MediaType mediaType) {
      return false;
   }

   @Override
   protected boolean canWrite(MediaType mediaType) {
      return false;
   }
}

 

 

 

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import java.util.List;


@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer{
    private OctetStreamReadMsgConverter octetStreamReadMsgConverter;

   @Autowired
   public WebMvcConfiguration(OctetStreamReadMsgConverter octetStreamReadMsgConverter) {
      this.octetStreamReadMsgConverter = octetStreamReadMsgConverter;
   }

   @Override
   public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
      converters.add(octetStreamReadMsgConverter);
   }
}

 

 

위의 소스 configuration 추가 후 다시 api 던져서 잘 되는거 확인 하기.

profile

IT'S DO

@멋진놈

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!