Restful接口风格

Restful接口风格

注:虽然不是强制要求的接口书写格式,但是是强烈建议所有开发人员都可以按照此接口规范来定义接口

自从Roy Fielding博士在2000年他的博士论文中提出RESTopen in new window(Representational State Transfer)风格的软件架构模式后,REST就基本上成为Web API的标准了。

restful是一种风格,可以遵循,也可以不遵循,但是现在他已经变成主流。

1、Rest架构的主要原则

  • 网络上的所有事物都被抽象为资源。
  • 每个资源都有一个唯一的资源标识符。
  • 同一个资源具有多种表现形式他可能是xml,也可能是json等。
  • 对资源的各种操作不会改变资源标识符。
  • 所有的操作都是无状态的。
  • 符合REST原则的架构方式即可称为RESTful。

2、什么是Restful

Restful web service是一种常见的rest的应用,是遵守了rest风格的web服务,rest式的web服务是一种ROA(The Resource-Oriented Architecture)(面向资源的架构).

在restful风格中,我们将互联网的资源抽象成资源,将获取资源的方式定义为方法,从此请求再也不止get和post了:

客户端请求原来风格URL地址RESTful风格URL地址
查询所有用户/user/findAllGET /user
查询编号为1的用户/user/findById?id=1GET /user/1
新增一个用户/user/savePOST /user
修改编号为1的用户/user/updatePUT /user/1
删除编号为1的用户/user/delete?id=1DELETE /user/1

Spring MVC 对 RESTful应用提供了以下支持

  • 利用@RequestMapping 指定要处理请求的URI模板和HTTP请求的动作类型
  • 利用@PathVariable讲URI请求模板中的变量映射到处理方法参数上
  • 利用Ajax,在客户端发出PUT、DELETE动作的请求

3、数据过滤

我们想获取所有用户,使用如下url即可/user。但是真是场景下,我们可能需要需要一些条件进行过滤:

例如:我们需要查询名字叫张三的前10条数据,使用以下场景即可:

/user?name=jerry&pageSize=10&page=1

第一:查询的url不变,变的是条件,我们只需要同伙url获取对应的参数就能实现复杂的多条件查询。

4、RequestMapping中指定请求方法

@RequestMapping(value = "/{id}", method = RequestMethod.GET)
@RequestMapping(value = "/add", method = RequestMethod.POST)
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)   
@RequestMapping(value = "/{id}", method = RequestMethod.PUT)

当然还有更好用的

@GetMapping("/user/{id}")
@PostMapping("/user")
@DeleteMapping("/user/{id}")
@PutMapping("/user/{id}")
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

'Boom'

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值