springmvc之RestFul风格

一、概念

简洁、高效、安全

  一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。
  它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

RESTful的关键是定义可表示流程元素/资源的对象。在REST中,每一个对象都是通过URL来表示的,对象用户负责将状态信息打包进每一条消息内,以便对象的处理总是无状态的

二、操作资源 方式

传统方式操作资源:
传统的请求方式只要post和get,比较单一
传统的方式操作资源url地址如下:
http://127.0.0.1/item/queryUser.action?id=1 查询,GET
http://127.0.0.1/item/saveUser.action 新增,POST
http://127.0.0.1/item/updateUser.action 更新,POST
http://127.0.0.1/item/deleteUser.action?id=1 删除,GET或POST
对于资源的具体操作类型,由HTTP动词表示。

使用RESTful操作资源 :
使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作。 分别对应 添加、 删除、修改、查询。

常用的HTTP动词有下面五个(括号里是对应的SQL命令)。
GET(SELECT):从服务器取出资源(一项或多项)。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
DELETE(DELETE):从服务器删除资源。

url地址如下:
GET /zoos:列出所有动物园
POST /zoos:新建一个动物园
GET /zoos/ID:获取某个指定动物园的信息
PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)
PATCH /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)
DELETE /zoos/ID:删除某个动物园
GET /zoos/ID/animals:列出某个指定动物园的所有动物
DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物

学习测试:

1.创建controller类
2.我们在SpringMVC中可以使用@PathVariable注解让方法参数的值对应绑定到url模板变量上
请求地址为:
传统的:http://localhost:8080/项目名/restful/add?a=1?b=3
restful风格的:http://localhost:8080/项目名/restful/add/1/3

@Controller
@RequestMapping("/restful")
public class RestFulController {

    @RequestMapping("/add/{a}/{b}")
    public String test1(@PathVariable int a, @PathVariable int b, Model model){

        model.addAttribute("msg","结果为"+(a+b));
        return "test";
    }
}

我们还有一种更常用的方法来定义请求的类型

@Controller
@RequestMapping("/restful")
public class RestFulController {

//这里的注解表示只能接收get请求,另外还有postmapping,PUTmapprin等几种类型请求
    @GetMapping("/add/{a}/{b}")      
    public String test1(@PathVariable int a, @PathVariable int b, Model model){

        model.addAttribute("msg","结果为"+(a+b));
        return "test";
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值