RESTFul API 个人理解


解决什么问题

应用程序,关注的是数据和数据结构,如何组织起数据和数据结构
Web 服务,关注的的是数据在通信中的传输,对外接口使用API的方式,API的方式一直以来都是自己定义的,这是为什么我们换个团队总要重新适配API方式
REST 定义了一个Web API 该如何展示出来的标准,如果大家按着这个标准定义 API,就能减少一些困惑,API 也更加通用。

REST 是什么,核心内容是什么

REST 全称 Representational State Transfer ——表现层状态转化
说是架构,在我看来更多的是约定 API 对资源访问 的方式

REST 相关概念

资源
位于服务器中的资源路径,可以是一个操作,也可以是一个文本/图片资源
表现层
资源呈现的形式,一个操作/资源呈现为一个路径
状态转化
表现层状态的转化,如文本资源获取、文本资源改变

这样做有什么好处

明确了API 操作的主体为资源
明确了API 的操作

REST前

Request:https://server/setusername
Method:PUT (八仙过海各显神通,无一定的格式,也可能严格遵守HTTP协议)
Paragma:
{
username = @"Tracy";
uid = 10000001;
}

REST后

Request:https://server/username/10000001
Method:PUT (特定的)
Paragma:
{
username = @"Tracy";
}

怎么做

把需要操作的主体放到 URL内部
对主体的操作依据已有的Http协议方式

GET 获取  
POST新增  
PUT 更新  
DELETE 删除  

题外话 Http协议有关内容

幂等

若干次请求和单次请求的副作用完全相同,这些请求就能被称为幂等的。 GET/HEAD/PUT/DELETE 均为幂等方法

安全方法

HEAD/GET 除了获取资源信息外,这些请求不应带对资源有任何改变



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值