• 在线课堂平台开发(二)——GetMapping、PostMapping问题


    一、RequestMapping、GetMapping、PostMapping

    @GetMapping用于将HTTP get请求映射到特定处理程序的方法注解
    具体来说,@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。

    @PostMapping用于将HTTP post请求映射到特定处理程序的方法注解
    具体来说,@PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。

    同时还有@PostMapping、@PutMapping、@DeleteMapping和@PatchMapping,一共5个注解。

    如果报错:

    Request method ‘POST‘ not supported或者

    Request method ‘GET‘ not supported

    尝试用@RequestMapping()替代

    二.get和post关系

    spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},来帮助简化常用的HTTP方法的映射,并更好地表达被注解方法的语义。
    以@GetMapping为例,Spring官方文档说:
    @GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。该注解将HTTP Get 映射到 特定的处理方法上。

    以下是官方解释,供大家参考:

    哪一些情况下,浏览器会发送get请求
    a. 直接在浏览器地址栏输入某个地址

    b. 点击链接

    c. 表单默认的提交方式

    哪一些情况下,浏览器会发送post请求?
    a. 设置表单method = “post”

    get请求的特点
    a. 请求参数会添加到请求资源路劲的后面,只能添加少量参数(因为请求行只有一行,大约只能存放2K左右的数据)(2K左右的数据,看起来也不少。。。)

    b. 请求参数会显示在浏览器地址栏,路由器会记录请求地址

    post请求的特点
    a. 请求参数添加到实体内容里面,可以添加大量的参数(也解释了为什么浏览器地址栏不能发送post请求,在地址栏里我们只能填写URL,并不能进入到Http包的实体当中)

    b. 相对安全,但是,post请求不会对请求参数进行加密处理(可以使用https协议来保证数据安全)



  • 相关阅读:
    7_布局管理器.md
    5_资源文件.md
    css tabbar添加激活样式,竖条
    云代码仓库,git使用
    express配置跨域
    跨域无法携带cookie,samesite警告
    Syntax Error: TypeError: Cannot read property 'parseComponent' of undefined
    django使用uwsgi启动
    linux下安装配置python3.6、虚拟环境
    linux下virtualenvwrapper、python虚拟环境命令操作
  • 原文地址:https://www.cnblogs.com/StarZhai/p/16209379.html
Copyright © 2020-2023  润新知