zoukankan      html  css  js  c++  java
  • @GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping、@RequestMapping详解

    最近写项目中突然发现有人再controller层写@PostMapping,这对于经常用@RequestMapping的我来说,感到跟奇怪,网上搜寻了一些资料,特在此整合一下:

    Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping} 来帮助简化常用的HTTP方法的映射 并更好地表达被注解方法的语义

    @GetMapping: 处理get请求,传统的RequestMapping来编写应该是@RequestMapping(value = “/get/{id}”, method = RequestMethod.GET)
    新方法可以简写为:
    @GetMapping("/get/{id}")
    @PostMapping: 处理post请求,传统的RequestMapping来编写应该是@RequestMapping(value = “/get/{id}”,method = RequestMethod.POST)
    新方法可以简写为:
    @PostMapping("/get/{id}")
    @PutMapping: 和PostMapping作用等同,都是用来向服务器提交信息。如果是添加信息,倾向于用@PostMapping,如果是更新信息,倾向于用@PutMapping。两者差别不是很明显。
    @DeleteMapping 删除URL映射,具体没有再实践中用过,不知道好在什么地方
    @PatchMapping 至今不知如何用,再什么场景下用。。。有知道的欢迎留言或私信
    上面所有的mapping归根到底就是两种请求,即:post和get,Spinrg官方引进众多请求的原因个人感觉是,简化配置。post和get两者的区别如下:
    首先,什么情况下是get请求呢:

    直接在浏览器地址栏输入某个地址
    表单默认的提交方式
    什么情况下是post请求呢:

    设置表单method = “post”
    ajax type: ‘post’,
    浏览器通过url处理的请求为get请求,如果后台限制只能用post请求会发生如下错误:

    method not allowed, The specified HTTP method is not allowed for the requested resource.
    1
    get请求特点:
    a. 请求参数会添加到请求资源路径的后面,只能添加少量参数(因为请求行只有一行,大约只能存放2K左右的数据)
    b. 请求参数会显示在浏览器地址栏,路由器会记录请求地址 (极为的不安全)
    c.如果传输中文,必定会乱码(原因:get请求默认编码格式为:IIO-8859-1,后台编码格式一般为:GBK或者UTF-8)
    post请求的特点:
    a. 请求参数添加到实体内容里面,可以添加大量的参数(也解释了为什么浏览器地址栏不能发送post请求,在地址栏里我们只能填写URL,并不能进入到Http包的实体当中)
    b. 相对安全,但是,post请求不会对请求参数进行加密处理(可以使用https协议来保证数据安全)
    ————————————————
    版权声明:本文为CSDN博主「只会debugger」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/java_xdo/article/details/88711192

  • 相关阅读:
    python 读csv文件时,在csv类型上执行类型转换
    python 读csv文件对列名进行合法性验证
    python 读csv数据 通过改变分隔符去掉引号
    python 写csv文件
    python 简单了解namedtuple
    python 读csv格式的文件
    python 序列化,反序列化
    PyQt5 笔记(05):信号/槽
    PyQt5 笔记(04):主窗口卡死问题
    PyQt5 笔记(03):弹出窗口大全
  • 原文地址:https://www.cnblogs.com/muxi0407/p/11599570.html
Copyright © 2011-2022 走看看