idea__SpringMVC框架04——RestFul 风格

一、了解RestFul 。

概念

   Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

功能

   资源:互联网所有的事物都可以被抽象为资源

   资源操作:使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作。

   分别对应 添加、 删除、修改、查询。

传统方式操作资源 :通过不同的参数来实现不同的效果!方法单一,post 和 get

   http://127.0.0.1/item/queryItem.action?id=1 查询,GET

   http://127.0.0.1/item/saveItem.action 新增,POST

   http://127.0.0.1/item/updateItem.action 更新,POST

   http://127.0.0.1/item/deleteItem.action?id=1 删除,GET或POST

使用RESTful操作资源 :可以通过不同的请求方式来实现不同的效果!如下:请求地址一样,但是功能可以不同!

   http://127.0.0.1/item/1 查询,GET

   http://127.0.0.1/item 新增,POST

   http://127.0.0.1/item 更新,PUT

   http://127.0.0.1/item/1 删除,DELETE

二、 传统风格。

在02子项目下,我们新创建一个ControllerTest1类

在这里插入图片描述
接着我们访问一下,没有问题,是传统的一种风格

在这里插入图片描述

三、 RestFul风格。

给我们的Controller加上注解 @PathVariable

在这里插入图片描述
接着,我们还是按照传统风格的方法访问一下,我们发现,报了404.

在这里插入图片描述
接着,我们换成 / 就没有问题了。

在这里插入图片描述

四、 RestFul风格 —— 请求方法。

我们还可以给它指定请求方法。

指定post请求

在这里插入图片描述

接着我们访问一下,我们发现报了一个405,因为这个不是post请求,是Get请求

在这里插入图片描述

我们把它改成get请求

在这里插入图片描述
我们再访问一下,没有问题

在这里插入图片描述
那么这种方法有点复杂,我们有没有更加简单一点的方式呢?

答案是有的,直接使用注解

方法级别的注解变体有如下几个:组合注解

@GetMapping
@PostMapping
@PutMapping
@DeleteMapping
@PatchMapping
@GetMapping 是一个组合注解,平时使用的会比较多!

它所扮演的是 @RequestMapping(method =RequestMethod.GET) 的一个快捷方式。

指定get请求

在这里插入图片描述
访问一下,没有问题

在这里插入图片描述

五、 RestFul风格 —— 请求地址一样,但是功能可以不同。

可以通过不同的请求方式来实现不同的效果,如下:请求地址一样,但是功能可以不同!、

在这里插入图片描述

创建一个a.jsp页面

在这里插入图片描述
我们来访问一下

在这里插入图片描述
没有问题

在这里插入图片描述
虽然访问的路径地址一样,但功能方法可以不同

在这里插入图片描述
RestFul 的好处

1、使路径变得更加简洁;
2、获得参数更加方便,框架会自动进行类型转换。
3、通过路径变量的类型可以约束访问参数,如果类型不一样,则访问不到对应的请求方法,如这里访问是的路径是/commit/1/a,则路径与方法不匹配,而不会是参数转换失败。
4、相对想说提高了安全性,使我们后台的参数不会暴露在地址栏中,看不到a,b

————————
创作不易,如觉不错,随手点赞,关注,收藏(* ̄︶ ̄),谢谢~~
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值