Restful风格配置

Rest

  • Rest( REpresentational State Transfer) 一种网络资源的访问风格,定义了网络资源的访问方式

    • 传统风格访问路径
       http://localhost/user/get?id=1
       http://localhost/deleteUser?id=1
    • Rest风格访问路径
       http://localhost/user/1
  • Restful是按照Rest风格访问网络资源
  • 优点
     隐藏资源的访问行为,通过地址无法得知做的是何种操作
     书写简化

Rest行为约定方式

 GET(查询) http://localhost/user/1 GET
 POST(保存) http://localhost/user POST
 PUT(更新) http://localhost/user PUT
 DELETE(删除) http://localhost/user DELETE
**注意:**上述行为是约定方式,约定不是规范,可以打破,所以称Rest风格,而不是Rest规范

Restful开发入门

//设置rest风格的控制器
@RestController
//设置公共访问路径,配合下方访问路径使用
@RequestMapping("/user/")
public class UserController {//rest风格访问路径完整书写方式@RequestMapping("/user/{id}")//使用@PathVariable注解获取路径上配置的具名变量,该配置可以使用多次public String restLocation(@PathVariable Integer id){System.out.println("restful is running ....");return "success.jsp";}//rest风格访问路径简化书写方式,配合类注解@RequestMapping使用@RequestMapping("{id}")public String restLocation2(@PathVariable Integer id){System.out.println("restful is running ....get:"+id);return "success.jsp";}//接收GET请求配置方式@RequestMapping(value = "{id}",method = RequestMethod.GET)//接收GET请求简化配置方式@GetMapping("{id}")public String get(@PathVariable Integer id){System.out.println("restful is running ....get:"+id);return "success.jsp";}//接收POST请求配置方式@RequestMapping(value = "{id}",method = RequestMethod.POST)//接收POST请求简化配置方式@PostMapping("{id}")public String post(@PathVariable Integer id){System.out.println("restful is running ....post:"+id);return "success.jsp";}//接收PUT请求简化配置方式@RequestMapping(value = "{id}",method = RequestMethod.PUT)//接收PUT请求简化配置方式@PutMapping("{id}")public String put(@PathVariable Integer id){System.out.println("restful is running ....put:"+id);return "success.jsp";}//接收DELETE请求简化配置方式@RequestMapping(value = "{id}",method = RequestMethod.DELETE)//接收DELETE请求简化配置方式@DeleteMapping("{id}")public String delete(@PathVariable Integer id){System.out.println("restful is running ....delete:"+id);return "success.jsp";}
}
<!--配置拦截器,解析请求中的参数_method,否则无法发起PUT请求与DELETE请求,配合页面表单使用-->
<filter><filter-name>HiddenHttpMethodFilter</filter-name><filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping><filter-name>HiddenHttpMethodFilter</filter-name><servlet-name>DispatcherServlet</servlet-name>
</filter-mapping>

 开启SpringMVC对Restful风格的访问支持过滤器,即可通过页面表单提交PUT与DELETE请求
 页面表单使用隐藏域提交请求类型,参数名称固定为_method,必须配合提交类型method=post使用

<form action="/user/1" method="post"><input type="hidden" name="_method" value="PUT"/><input type="submit"/>
</form>
  • Restful请求路径简化配置方式

    @RestController
    public class UserController {@RequestMapping(value = "/user/{id}",method = RequestMethod.DELETE)public String restDelete(@PathVariable String id){System.out.println("restful is running ....delete:"+id);return "success.jsp";}
    }
    

Restful风格配置相关推荐

  1. RESTful风格及其SpringMVC实现

    目录 1.RESTful概念 2.RESTful功能 3.对比:传统方式操作资源 4.SpringMVC实现传统方式操作资源 5.使用RestFul操作资源 6.SpringMVC实现RESTful操 ...

  2. springboot 集成jpa_基于Spring Boot+JPA Restful 风格的数据

    第一章 Restful简介 Restful是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服 务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次, ...

  3. java restful接口开发实例_Spring Boot 中 10 行代码构建 RESTful 风格应用!

    点击上方"Java后端技术",选择"置顶或者星标" 你关注的就是我关心的! 作者:江南一点雨 微信公众号:牧码小子(ID:a_javaboy) 推荐阅读:10个 ...

  4. layuiajax提交表单控制层代码_究竟怎么用Restful风格编代码必看这篇。(二)

    点击上方"IT咸鱼",星标公众号每天分享技术栈,开发工具等 简单急记几个小点:RequestMapping注解的使用和里面涉及到的参数用途和写法 @RequestMapping(& ...

  5. ssm框架restful风格实现增删改查

    1.什么是restful风格 大家在做Web开发的过程中,method常用的值是get和post. 可事实上,method值还可以是put和delete等等其他值. 既然method值如此丰富,那么就 ...

  6. 基于 Spring Boot 的 Restful 风格实现增删改查

    前言 在去年的时候,在各种渠道中略微的了解了SpringBoot,在开发web项目的时候是如何的方便.快捷.但是当时并没有认真的去学习下,毕竟感觉自己在Struts和SpringMVC都用得不太熟练. ...

  7. SpringMVC响应Restful风格请求404

    一.问题 在学习Springmvc时,使用Restful风格的url,页面提示404错误.为找到原因,编写一个简单的Restful测试用例如下: jsp页面: <a href="use ...

  8. restful风格案例

    RestFul风格案例 理解 一.原则:通过四种不同的请求方式来表示CRUD操作 问题:页面请求只支持get/post方式,并不支持其他方式,如何处理? 二.实际操作时代码 1.html 2.hand ...

  9. Spring MVC开发RESTful风格的URI

    一.写在前面 RESTful结构可参考博文:https://blog.csdn.net/codejas/article/details/79799386 我们知道在HTTP 协议中,有四种操作方式的动 ...

最新文章

  1. OpenCV霍夫变换:霍夫线变换,霍夫圆变换合辑
  2. Python zmq的三种简单模式
  3. XDOJ-1093-一元三次方程
  4. VC2008 ATL控件 去掉运行库依赖
  5. 使用ConfuserEx加密混淆程序以及如何脱壳反编译
  6. 计算机主板设置语言,技嘉主板bios设置中文对照的方法步骤
  7. 明天9:00 | ECCV 2022 全球博士TalK——计算机视觉领域顶会
  8. SSM毕设项目基于网页的车辆检测站登录软件reo2q(java+VUE+Mybatis+Maven+Mysql)
  9. 商丘学院计算机考研,商丘学院院校简介_商丘学院研究生院 - 中国考研网
  10. 软件开源,航芯方案分享 | 全自动咖啡机设计方案
  11. myftpadmin+proftpd+mysql架设ftp服务器_proftpd – 碎言碎语
  12. 【UVA 12657】移动盒子 Boxes in a Line
  13. 计算机考研学校好又好考的是,考研最容易的985大学 考研院校难度排名
  14. SSH三大框架面试题集锦
  15. jmeter测试之参数Shar256加密
  16. 手机上怎么打开python文件_如何使用一行Python命令来实现让手机读取电脑文件!...
  17. jQuery-1.9.1源码分析系列(七) 钩子(hooks)机制及浏览器兼容
  18. python内网穿透 开源_内网穿透神器-Serveo
  19. Systemstate Dump分析经典案例
  20. 软件测试 | 期末复习——测试基础【黑盒测试用例设计】

热门文章

  1. spring mvc xml配置
  2. 萌宠大作战服务器维护,萌宠大作战开服表
  3. golang goroutine实现_Go goroutine理解
  4. matlab从1到n怎么循环,8 Matlab 循环操作
  5. python什么时候热门_Python小白需要知道的 20 个骚操作!
  6. SpringBoot的日志文件
  7. 简单设置textarea回车换行
  8. Android 中的休眠/唤醒
  9. c++学生兴趣管理系统(仅作学术探讨,请勿搬运抄袭)
  10. 智慧党建系统开发 组织部干事信息管理平台建设方案