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

相关文章
相关标签/搜索