spring mvc controller 各注解GET和POST 使用说明

在不同的参数上使用不同的注解,在进行http请求的时候,发现Get和Post有时有的竟然无法请求,所以简单总结一下,各个注解,可以成功请求的对应方式

注解\请求方式GETPOST(application/x-www-form-urlencoded)POST(Json或XML)
@RequestParam支持(仅单个参数)支持不支持(”status”: 400)
@RequestBody不支持(”status”: 400)不支持(”status”: 415)支持(解析为javabean)
参数省略注解支持(单个参数和解析为javabean)支持不支持(解析出来的javabean参数全部为null,0)
  • @RequestBody 只能使用在javaBean参数上
  • 参数没有注解,说明参数不是必须的
  • 使用postman中 form-data上传文件的时候,注意header里面的content-type最好清空

HttpServletRequest 和 HttpServletResponse 不受这些注解影响,因为获取他们,spring mvc 有特殊的类进行处理。
网上有文章说,HttpServletRequest 和 HttpServletResponse 只能在POST(application/x-www-form-urlencoded)情况下获得,经过测试发现时错误的

参考:

postman中 form-data、x-www-form-urlencoded、raw、binary的区别
SpringMVC重要接口(一)HandlerMethodArgumentResolver
详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析]
解决httpServletRequest.getParameter获取不到参数
spring boot get和post请求,以及requestbody为json串时候的处理
在postman中,调试上传文件接口

关注我的公众号,轻松了解和学习更多技术
这里写图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 撸撸猫 设计师:设计师小姐姐 返回首页