본문 바로가기
Dev/Spring

Put으로 multipartResolver 받기

by 펭귄안에 온천 2023. 8. 8.
728x90
반응형

multipart http는 post로만 전송해야 한다.

위의 블로그 정리하면
PUT은 특정 리소스를 갱신하는 역할을 하는데 multipart로 보내면 한번에 여러 리소스를 처리하므로 이미지 같은 경우를 PUT으로 처리하려면 이미지등에 대한 리소스 URI에 별도의 PUT 요청을 보내서 갱신하고 일반적인 폼은 따로 처리하라는 의미이다. 스펙에 빠삭하지 못해서 정확치는 않지만 이 경우에는 한 URI로 PUT을 보내서 여러 리소스(회원 정보 + 이미지)를 한꺼번에 처리하려고 했으므로 PUT이 적합치 않다는 의미로 보인다.

 

// ServletFileUpload
public static final boolean isMultipartContent(HttpServletRequest request) {
    return !"POST".equalsIgnoreCase(request.getMethod()) ? false : FileUploadBase.isMultipartContent(new ServletRequestContext(request));
}

Spring Boot MultipartResolver is missing on PUT method

@Configuration
public class MultipartConfig {

    @Bean
    public CommonsMultipartResolver multipartResolver() {
        CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
        multipartResolver.setSupportedMethods("POST","PUT");
        return multipartResolver;
    }
}
반응형