zoukankan      html  css  js  c++  java
  • Spring Boot系列(5)——Restful CURD注意事项

    〇、什么是RESTful风格

      RESTful不是一种技术手段,而是一套设计规范。在RESTful风格中,把网络中的一个实体抽象成一个“资源”,用URI去代表“资源”。

      1.基本规范:

      (1)URI中不包含动词,每一个URI代表一种资源;

      (2)客户端和服务器之间,传递资源的表现形式;

      (3)客户端通过四个HTTP动词(GET/POST/PUT/DELETE),对服务器端资源进行操作。

      2.具体可参考:

      理解RESTful架构RESTful API设计指南

    一、PUT和DELETE的使用

      1.说明

      依据RESTful风格,利用HTTP的四个请求区分对资源的CRUD操作。其中GET请求表示“获取”;POST请求表示“添加”;PUT请求表示“修改”;DELETE请求表示“删除”。

      而在html代码form标签的method属性中,仅有GET和POST两种选择,当我们需要使用PUT和DELETE请求,则需要做额外的工作。

      2.使用PUT/DELETE的步骤

      (1)打开请求方法过滤器:

      在全局配置文件中加入:spring.mvc.hiddenmethod.filter.enabled=true

      (2)在form标签设置method属性值为POST,并在表单中加入一个额外的文本框:

    <input type="hidden" name="_method" value="DELETE" >

      (3)在Controller方法上,添加对应的注解:

      其中@DeleteMapping(...)相当于  @RequestMapping(value = "...", method = RequestMethod.DELETE)

    1     @DeleteMapping("/emp/{id}")
    2     public String deleteEmp(@PathVariable("id") Integer id){
    3         employeeDao.delete(id);
    4         return "redirect:/emps";
    5     }

      (4)起作用过程:

      Spring MVC中有HiddenHttpMehodFilter类,是一个过滤器(SpringBoot已经默认配置好了)。该过滤器可以坚持表单中是否为POST请求,若为POST请求又是否有_method参数,若有则按照参数更改请求方式。

      

    二、redirect与forward区别

      (1)从地址栏显示来说:forward是服务器内部重定向,客户端浏览器的网址不会发生变化;redirect发生一个状态码,告诉服务器去重新请求那个网址,显示的的新的网址。

      (2)数据共享:在定向过程中forward使用的是同一个request,可以共享;redirect不可以。

      (3)本质上说:forward转发是服务器上的行为,而redirect是客户端行为。

      (4)http请求次数:forward只有一次,redirect两次。

  • 相关阅读:
    Android基础之项目结构分析
    串口调试,提示the given port name does not start with COM/com异常解决办法,,发现是打印机在搞怪
    C# 通过URL获取图片并显示在PictureBox上的方法
    学习资料集合
    C#语音朗读文本 — TTS的实现
    SQL SERVER 2008安装错误(is not a valid login or you do have permission)
    函数调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。
    SerialPort使用
    Javascript函数的几种写法
    JS验证图片格式和大小并预览
  • 原文地址:https://www.cnblogs.com/Drajun/p/12239167.html
Copyright © 2011-2022 走看看