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

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

注解\请求方式 GET POST(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中,调试上传文件接口

猜你喜欢

转载自blog.csdn.net/xx326664162/article/details/79487863
今日推荐