spring boot 1.3.5 PUT方法接收參數

單位Android客戶端POST/PUT請求的contentType統一封裝爲Multipart/form-data,java

後臺服務使用框架爲Spring Boot 1.3.5RELEASE。在使用默認配置時,Controller能夠在POST請求中用request.getParameter("")正常接收參數,但遇到PUT請求時接收參數爲空。spring

查找緣由後發現springMVC默認的PUT處理沒有包含multipart,試過多種配置後,在配置類(@Configuration)中加入如下代碼便可正常處理:框架

@Bean
public MultipartResolver multipartResolver() {
    return new StandardServletMultipartResolver() {
        @Override
        public boolean isMultipart(HttpServletRequest request) {
            String method = request.getMethod().toLowerCase();
            //By default, only POST is allowed. Since this is an 'update' we should accept PUT.
            if (!Arrays.asList("put", "post").contains(method)) { return false; }
            String contentType = request.getContentType();
            return (contentType != null &&contentType.toLowerCase().startsWith("multipart/"));
        }
    };
}

原文地址:http://i-proving.com/tag/multipartform-data/ide

最後google大法好!post

相關文章
相關標籤/搜索