springMVC中的x-www-form-urlencoded和form-data

写好的接口经常会拿chrome中的插件postman进行测试,在postman中有两个选项,一个是 form-data,另一个是 x-www-form-urlencoded,有什么不同呢?

简要说明

编码格式说明
x-www-form-urlencoded空格转换为 “+” 加号,特殊符号转换为 ASCII HEX 值
form-data不对字符进行编码,使用二进制数据传输,一般用于上传文件,非文本的数据传输。

springMVC 如果不进行必要配置的话,只支持x-www-form-urlencoded,如果使用form-data会报400 Bad Request错误。

如何支持?

在spring的mvc配置文件中配置对multi的支持即可,如下:

1
2
3
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
</bean>

此时对以上两种编码格式都支持。

注意 此时需要引入

1
2
3
4
5
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>${commons-fileupload.version}</version>
</dependency>
我知道是不会有人点的,但万一有人想不开呢!