RESTful

REST和RESTful理解

REST是英文representational state transfer(表象性状态转变)或者表述性状态转移;

Rest是web服务的一种架构风格;使用HTTP,URI,XML,JSON,HTML等广泛流行的标准和协议;轻量级,跨平台,跨语言的架构设计;它是一种设计风格,不是一种标准,是一种思想

 

Rest架构的主要原则:

1.网络上的所有事物都被抽象为资源

2.每个资源都有一个唯一的资源标识符

3.同一个资源具有多种表现形式(xml,json等)

4.对资源的各种操作不会改变资源标识符 5.所有的操作都是无状态的

符合REST原则的架构方式即可称为RESTful

 

REST是以资源为核心的,四种常用方法所操作的对象也是资源,对资源的操作是状态转移,

数据的增删改查则是持久层的具体实现,一次状态转移可能会对应多个数据库表的添加修改删除操作,所以他们之间没有严格的一一对应关系。

 

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

 

命名规范:

在RESTful接口中,对于URI一个普遍接受的命名规则是:全部小写,用中划线连接。


 

简述

URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。

看Url就知道要什么

看http method就知道干什么

服务器根据method的不同来判断浏览器期望做的业务行为

看http status code就知道结果如何

HTTP 响应状态代码指示特定 HTTP 请求是否已成功完成。

HTTP 响应及方法

响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 (500–599)。

通过HTTP方法 常用的方法有GET, POST, PUT, DELETE

 

HTTP方法有三个通用属性:安全、幂等、可缓存

幂等性:对同一REST接口的多次访问,得到的资源状态是相同的。

看执行一次和执行多次的效果是否一样

安全性:对该REST接口访问,不会使服务器端资源的状态发生改变。

在设计实现具有安全性的HTTP方法时(如GET),一定要保证资源状态不变。

可缓存: 缓存风格($)。多数情况下,我们在设计接口时要考虑到GET或HEAD甚至POST响应的内容是有可能被客户端缓存的。

HTTP方法

安全性

幂等性

GET

POST

PUT

DELETE

HEAD

PATCH

SpringMVC实现restful服务

SpringMVC控制器涉及注解:

@RequestMapping

@PathVariable

@ResponseBody

@PostMapping和@PutMapping作用等同,都是用来向服务器提交信息。如果是添加信息,倾向于用@PostMapping,如果是更新信息,倾向于用@PutMapping。

@GetMapping 查询

@DeleteMapping 删除

-----------

参考:

接口详解

接口设计

知乎解释

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值