什么是REST?

What 什么是REST

表述性状态转移。一种web 服务的架构风格

Who 谁发明的REST

roy fielding 于2000年写的论文
核心

资源

统一接口
状态转移

REST成熟度模型

http
表示抽象的资源
用http动词来表述对资源的增删改查

REST的问题

如何聚合多个接口返回的内容
浏览api如何能像浏览网页那样

资源表述

用名词来表述资源,用http方法来表述CRUD
url 小写
什么时候使用下划线,什么时候用连字符?
资源的名词用复数表示
表述关联关系,可以有多级,例如:/user/1/address/1
当无法用http方法来表述谓词的时候,可以这样:

/products/actions/up
/price_calc?schedule_id={}
/repo/fock

用过滤器来表示复杂的查询,例如/users?limit=10
多个单词的名词,用破折线分割表示路径,用下划线分割表示属性

request

请求的header中加入request-id,用于定位请求日志
请求的header中指定需要返回的内容格式
尽可能用json表示请求体的内容,因为有类型信息,且支持嵌套

response

用http状态码表示请求的成功失败
请求失败,返回易于机器读的错误码和易于人读的错误信息
资源新建成功,同时返回新建的资源
用UTC,ISO8601 格式化时间yyyy-MM-ddTHH:mm:ssZ

缓存

http cache-control
http conditional request
2.1 ETag
2.2 Last_Modified

作者:航海家1984
链接:https://www.jianshu.com/p/e53c5c370149
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值