pengkobe / reading-notes

:stars: to record daily reading notes. I build an issue blog to record daily FE study notes. suggestion and comments are welcomed.
https://github.com/pengkobe/reading-notes/issues
MIT License
13 stars 1 forks source link

RESTful api #2

Open pengkobe opened 7 years ago

pengkobe commented 7 years ago

为什么会有 RESTful API?

必须有一种统一的机制,方便不同的前端设备与后端进行通信,以降低开发的复杂性,提高系统的可伸缩性。

名词解释

全名翻译为: Representational State Transfer

设计误区

设计指南

示例

返回结果

GET /collection:返回资源对象的列表(数组)
GET /collection/resource:返回单个资源对象
POST /collection:返回新生成的资源对象
PUT /collection/resource:返回完整的资源对象
PATCH /collection/resource:返回完整的资源对象
DELETE /collection/resource:返回一个空文档

其它

RESTful 与 webService

本质

SOAP vs REST

使用场景

参考

深入阅读

Versioning REST Services

pengkobe commented 7 years ago

摘抄自: webservice soap简介及应用场景

趣味理解

Web Service 好比一个服务供应商,给其他厂家提供基础服务,其他厂家再将这个服务包装成自己的产品或者服务提供给别人或自己使用。有点像 OEM 了。既然两个公司需要合作,不可能靠一句话就可以的,就需要一些标准和规范的东西来实现。那么:

SOAP

就像两个公司之间签的合同,约束双方按一定规矩和标准办事。

WSDL

则像说明书,告诉别人你有什么,能给别人提供什么服务。

UDDI

好比你的公司需要在黄页或工商注册,企业的主营业务登记,方便别人查询。当然,你也可以不在 UDDI 中注册,就像在地下室开展业务,靠的是口头吆喝;但是如果你希望拓展市场,则需要 UDDI 以便能被客户发现,更方便地找到你。

总结

Web Service是创建可互操作的分布式应用程序的新平台。Web Service 的主要目标是跨平台的可互操作性。为了达到这一目标,Web Service 是完全基于XML、XSD等独立于平台、独立于软件供应商的标准的。Web Service在应用程序跨平台和跨网络进行通信的时候是非常有用的。Web Service适用于应用程序集成、B2B集成、代码和数据重用,以及通过Web进行客户端和服务器的通信的场合。

非万能

当然,Web Service也不是万能的,你不能到处滥用Web Service。在有些情况下,Web Service 会降低应用程序的性能,而不会带来任何好处。例如,一台机器或一个局域网里面运行的同构应用程序就不应该用Web Service 进行通信。