• 关于@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")
  • 相关阅读:
    POJ 3069 Saruman's Army
    POJ 3617 Best Cow Line
    Part5核心初始化_lesson2---设置svc模式
    Part5核心初始化_lesson1---异常向量表
    Part4_lesson4---Bootloader架构设计
    Part4_lesson3---U-Boot工作流程分析
    zigbee--绑定
    Part4_lesson2---ARM处理器这个硬件启动流程分析
    Part4_lesson1---Bootloader设计蓝图
    zigbee之MAC地址发送
  • 原文地址:https://www.cnblogs.com/coderD/p/14171997.html
Copyright © 2020-2023  润新知