博客
关于我
spring boot的Rest风格
阅读量:320 次
发布时间:2019-03-04

本文共 860 字,大约阅读时间需要 2 分钟。

  • @RequestMapping(value = "/hello",method = RequestMethod.GET)
  • rest风格支持(使用http请求资源动词来表示对资源的操作)

          以前/getUser  获取用户   /deleteUser  删除用户   /editUser修改用户    /saveUser 保存拥护

          rest风格/user   GET-获取用户   DELETE-尚出用户    PUT-修改用户   POST-保存用户

        核心:需要使用过滤器:HiddenHttpMethodFiler(springboot提供了)

                用法:表单使用post提交请求,让偶添加一个隐藏域<imput type="hidden"  name="_method" value="对应的请求方式"

                springboot需要手动开启。在配置文件中开启如下:

spring:  mvc:    hiddenmethod:      filter:        enabled: true   //表示开启rest风格

 

原理:

  1.  表单提交带隐藏域,提交了_method=“请求方式”(因为表单只能提交get,post)
  2. springboot的HiddenHttpMethodFiler对他进行拦截,获取_method的值:有以下请求方式:put,deletd ,patch
  3. 原生request(post),包装模式requestWrapper重写了getMethod方法,返回了_method的值
  4. 然后到前端控制器这边判断请求方法时就会调用重写的getMethod方法获取对应的_method的值,然后在根据requestMapping上的method = RequestMethod.GET来执行对应的controller方法

 

相关注解:以下这几个注解等于@RequestMapping+method =“请求方式”对应的属性

@GetMapping@PostMapping@DeleteMapping@PutMapping@PatchMapping

 

拓展:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载地址:http://twxq.baihongyu.com/

你可能感兴趣的文章
Navicat 导入sql文件
查看>>
navicat 添加外键1215错误
查看>>
navicat 系列软件一点击菜单栏就闪退
查看>>
navicat 自动关闭_干掉Navicat!MySQL官方客户端到底行不行?
查看>>
Navicat 设置时间默认值(当前最新时间)
查看>>
navicat 连接远程mysql
查看>>
navicat:2013-Lost connection to MySQL server at ‘reading initial communication packet解决方法
查看>>
Navicate for mysql 数据库设计-数据库分析
查看>>
Navicat下载和破解以及使用
查看>>
Navicat中怎样将SQLServer的表复制到MySql中
查看>>
navicat创建连接 2002-can‘t connect to server on localhost(10061)且mysql服务已启动问题
查看>>
Navicat可视化界面导入SQL文件生成数据库表
查看>>
Navicat向sqlserver中插入数据时提示:当 IDENTITY_INSERT 设置为 OFF 时,不能向表中的标识列插入显式值
查看>>
Navicat因导入的sql文件中时间数据类型有参数而报错的原因(例:datetime(3))
查看>>
Navicat如何连接MySQL
查看>>
navicat导入.sql文件出错2006- MySQLserver has gone away
查看>>
Navicat导入海量Excel数据到数据库(简易介绍)
查看>>
Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)
查看>>
Navicat工具中建立数据库索引
查看>>
navicat工具查看MySQL数据库_表占用容量_占用空间是多少MB---Linux工作笔记048
查看>>