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")
  • 相关阅读:
    SHELL变量
    LA 2797
    计算几何-圆 模板 训练指南267
    hdu 2553 八皇后问题 基础
    CodeForces 557C Arthur and Table STL的使用
    LA 3263 好看的一笔画 欧拉几何+计算几何模板
    UVA 11178 Morley's Theorem 计算几何模板
    poj 1113
    poj 2187 Beauty Contest 凸包模板+求最远点对
    hdu 1081 dp问题:最大子矩阵和
  • 原文地址:https://www.cnblogs.com/coderD/p/14171997.html
Copyright © 2011-2022 走看看