单位Android客户端POST/PUT请求的contentType统一封装为Multipart/form-data,
后台服务使用框架为Spring Boot 1.3.5RELEASE。在使用默认配置时,Controller可以在POST请求中用request.getParameter("")正常接收参数,但遇到PUT请求时接收参数为空。
查找原因后发现springMVC默认的PUT处理没有包含multipart,试过多种配置后,在配置类(@Configuration)中加入以下代码即可正常处理:
@Beanpublic 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/
最后google大法好!