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中,调试上传文件接口

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

发布了244 篇原创文章 · 获赞 799 · 访问量 234万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 代码科技 设计师: Amelia_0503

分享到微信朋友圈

×

扫一扫,手机浏览