request body与content-type使用小结

只针对post请求说明

比较常见的Content-Type 有

1.application/x-www-form-urlencoded 浏览器原生的form表单

形式:key1=value1&key2=value2

提交的数据放在body中,取值方式:request.getParameter()、request.getParameterMap()

2.application/json 消息主体是序列化json字符串

形式:{"name":"小明","password":"123456"}

controller 的入参使用@RequestBody修饰,说明是要使用json的格式接收。request.getInputStream(),request.getReader() 获取。

并且getInputStream获取参数后,request.getParameter() 再不能得到参数。

有一些特殊要求,需要getInputStream多次获取参数,需要重写httpServletRequestSwapper,生成一份拷贝的request对象,通过一个自定义的filter,将重写的request替换原来的request。

3.multipart/form-data

通常上传文件的时候使用,request.getInputStream(),request.getReader() 获取。

你可能感兴趣的:(request body与content-type使用小结)