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() 獲取。
https://www.jianshu.com/p/edabff9372f1