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
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。