zoukankan      html  css  js  c++  java
  • 关于@GetMapping、@PostMapping、@PutMapping、@DeleteMapping的理解

    关于@GetMapping、@PostMapping、@PutMapping、@DeleteMapping的理解

    一、前言

    在Spring4.3中引入了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},其中@PatchMapping是对put方式的一种补充,put可以是更新,但是是对整体的更新,patch是对局部的更新

    二、幂等性

    一次和多次请求某一个资源对于资源本身具有同样的结果。也就是任意多次执行对资源本身产生的影响与执行一次的影响相同
    幂等不仅仅只是一次请求对资源没有副作用(比如数据库查询操作)
    幂等包括第一次请求的时候对数据库产生了副作用,但是之后多次执行这个请求都不会对资源再产生副作用
    幂等关注的是以后的多次请求是否对资源产生副作用,而不关注结果
    SELECT col1 FROM tab1 WHERE col2 = 2, 无论执行多少次都不会改变状态,是幂等的
    UPDATE tab1 SET col1 = 1 WHERE col2 = 2, 无论执行成功多少次状态都是一致的,因此也是幂等
    UPDATE tab1 SET col1 = col1 + 1 WHERE col2 = 2, 每次执行结果都会变化,不是幂等
    
    http协议明确规定,put、get、delete请求都是具有幂等性的,而post为非幂等性的。所以一般插入新数据的时候使用post方法,更新数据库时用put方法

    三、@GetMapping

    处理get请求,传统的RequestMapping来编写应该是@RequestMapping(value = “/get/{id}”, method = RequestMethod.GET)。新方法可简写为:@GetMapping("/get/{id}")

    四、@PostMapping

    处理post请求,传统的RequestMapping来编写应该是@RequestMapping(value = “/get”, method = RequestMethod.POST)。新方法可简写为:@PostMapping("/get")
  • 相关阅读:
    算法2:邻居好说话:冒泡排序
    算法1:最快最简单的排序——桶排序
    冒泡排序
    Linux基本操作命令总结
    APP内嵌H5页面,H5页面向APP发送消息
    前端进行微信公众号账号绑定步骤
    history不刷新页面改变url
    在 Chrome DevTools 中调试 JavaScript 入门
    eslint 在webstorm配置
    electron 自定义菜单
  • 原文地址:https://www.cnblogs.com/coderD/p/14171997.html
Copyright © 2011-2022 走看看