![](https://img-blog.csdnimg.cn/20191110204105688.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
【Web Design The Missing Link】
暂7师师长常乃超
鄙人不善于奔跑。
展开
-
【Web Design The Missing Link】Foreward
随着Web API在商业和技术中变得越来越重要,Web API设计的最新水平正在不断发展。作为API管理的领导者,Apigee与数百个客户一起开发和管理大量的API。通过反思我们的经验以及我们的客户和整个行业的经验,我们获得了一些见识,了解API设计创新正在带来真正的好处并成为显着的趋势。通过本书我们试图捕捉过去几年中出现的API设计中的一些重要趋势。本书力求简洁明了,但并不旨在成...翻译 2020-01-22 09:46:43 · 211 阅读 · 0 评论 -
【Web Design The Missing Link】Introduction
根据定义,Web API使用HTTP。 在Web_API的早期,人们花费大量时间和精力来弄清楚如何在HTTP之上实现CORBA和DCOM等上一代分布式技术的功能。 这导致了诸如SOAP和WSDL之类的技术。经验表明,与大多数Web API相比,这些技术更复杂,更重且更易碎。取代SOAP和WSDL的想法是,您可以更直接地使用HTTP,而减少对上层技术的运用。 大多数现代Web API都比SOAP或W...翻译 2020-01-22 09:46:57 · 232 阅读 · 0 评论 -
【Web Design The Missing Link】Web API and REST
API 设计者的工作API的工作是使应用程序开发人员尽可能地高效。在制作API时,您应该从应用程序开发人员的角度考虑设计选择。为什么? 看看下面的价值链。 应用程序开发人员是整个API策略的关键。编写API时,主要的设计原则应该是最大程度地提高应用程序开发人员的生产力和成功率。正确设计很重要,因为设计可以传达如何使用某些东西。 那么问题就变成了:对应用程序开发人员来说,利益最大化的...翻译 2020-01-22 09:47:16 · 379 阅读 · 0 评论 -
【Web Design The Missing Link】A Data-orinted Design Paradigm
REST API专注于它所暴露的问题域(problem domain)的基础实体,而不是操纵这些实体的一组函数。按照前言中介绍的示例,假设我们的议题(问题域)是”如何追踪狗及其主人“。 我们可能公开的主要实体包括:1、狗狗的集合:它的url可能是 https://dogtracker.com/dogs.2、单独的狗:每条狗都单独有一个url。我们稍后将讨论其URL格式。我们还需要...翻译 2020-01-22 09:47:32 · 259 阅读 · 0 评论 -
【Web Design The Missing Link】Designing Representations
目录使用JSON让JSON简洁化包含链接为什么这样更好?当有链接时URI模板还有用吗?类比万维网包含链接,步骤二注意事项在资源中如何表示链接?谁使用链接?更多API设计的许多讨论都是从如何设计URL开始的。在像REST这样的面向数据的模型中,我们认为最好从表示形式(Representations)设计开始。 我们将在“Designing URL...翻译 2020-01-22 09:47:42 · 493 阅读 · 0 评论 -
【Web Design The Missing Link】Designing URLS
针对URL,使用名词而非动词REST面向数据模型的结果是,每个URL都可以被识别为事物。 这意味着,对于由API客户端的开发人员读取和编写的“知名URL”和“查询URL”,应该由名词组成,名词是用于指定事物的自然语言。众所周知的URL在上面的示例中,用于收集已知狗的URL为https://dogtracker.com/dogs。在API中,始终有必要发布至少一个众所周知的URL。...翻译 2020-01-22 09:47:51 · 347 阅读 · 0 评论 -
【Web Design The Missing Link】More On Representation Design
包括 "self"参考和 "type"属性Google和GitHub的示例说明了我们喜欢的另外两个设计选择。第一个是包括一个kind属性(有时是拼写成kind或isA)。 第二个包括一个selfLink属性,在GitHub示例中称为url。 此属性使用了许多不同的拼写方式-我们喜欢名称self,它是ATOM规范中标准化的关系名称,已在IANA中注册,并由许多其他名称复制。尤其要注意,这些...翻译 2020-01-22 09:51:35 · 277 阅读 · 0 评论 -
【Web Design The Missing Link】Chatty APIs
REST API比较“琐碎(chatty)”是一个普遍的误解。如果您的API过于琐碎,那是因为您为客户设计了错误的资源,而不是因为您使用了REST。“ REST意味着琐碎”的误解可能来自对REST-API必须看起来像完全标准化的关系数据库规范。在规范化设计中,每个不同的概念都有单独的资源,例如订单,客户,帐户等。 如果仅定义这些资源,则想要向用户显示的UI客户端则必须执行许多GET才能检索订单,账...翻译 2020-01-22 09:51:23 · 246 阅读 · 0 评论 -
【Web Design The Missing Link】Handing Error
大多数API开发人员首先考虑API开发功能的完成,然后考虑异常和错误处理,但是对于所有客户端来说,错误处理的质量是API体验的关键部分。为什么好的错误设计对API设计人员来说尤其重要?从使用Web API的应用程序开发人员的角度来看,该接口另一侧的所有内容都是黑盒的。因此,错误成为提供有关如何使用API的上下文和可见性的关键工具。首先,开发人员学会通过错误来编写代码。 极限编程模型的测...翻译 2020-01-22 09:51:12 · 220 阅读 · 0 评论 -
【Web Design The Missing Link】Modeling Actions
您可能会遇到的另一种情况是要触发动作。假设您有用于标识某个过程的URL,并且希望能够启动,停止或暂停该过程。 在这种情况下,许多设计师都采用面向动词的,类似于RPC的API设计,但是有些设计选项仍然忠实于基于名词的Web实体模型。 一种是提供流程的状态属性,并允许客户端将其设置为启动,停止或暂停。另一个选择是允许客户端将操作请求发布到相关的URL。例如,流程资源可能具有一个名为actionRequ...翻译 2020-01-22 09:50:42 · 257 阅读 · 0 评论 -
【Web Design The Missing Link】Authentication
几年前,API设计指南将包含有关使用哪种身份验证方法的讨论。 当时领先的网站使用的标准或级别不同。 如今,几乎每个主要的Web-API都使用OAuth2。示例包括PayPal,Twitter,Google,Facebook,GitHub等。 您应该做同样的事情。使用OAuth 2.0意味着公开API的网络或移动应用无需共享密码。它允许API提供者撤销单个用户和整个应用程序的令牌,而无需用户更改...翻译 2020-01-22 09:50:37 · 261 阅读 · 0 评论 -
【Web Design The Missing Link】Complement With An SDK
如果您的API遵循良好的设计规范,并且是自洽(self-consistent)的,基于标准的并且有据可查的,那么使用您的API的应用程序开发人员可以在没有客户端SDK的情况下让他运转起来。记录良好的代码示例也是至关重要的资源。但是,大多数客户端程序员更喜欢在其选择的实现语言中使用精心设计的SDK,而不是直接使用HTTP-API。实际上,使用SDK的程序员可能会认为特定于语言的SDK是API,而完全...翻译 2020-01-22 09:50:31 · 225 阅读 · 0 评论 -
【Web Design The Missing Link】Versioning
API的版本控制是一个有争议的主题,您会在互联网上找到许多相互矛盾的指南。最常用的模式可能是在URL的路径段中带有版本标识符的模式。由于在版本控制方面几乎没有共识,因此仅提供有关该主题的意见可能不会很有帮助,但我们提供了两种想法:1.完全不进行API版本控制是一种明智的方法,越来越受到关注;2.链接和版本同时出现在url中不处理版本控制我们都知道API需要演变,并且在不破坏...翻译 2020-01-22 09:50:18 · 243 阅读 · 0 评论 -
【Web Design The Missing Link】Conclusion
近年来,随着Web API在商业上的重要性日益提高,Web API设计的最新水平和创新步伐不断提高。Web API基于万维网技术,特别是在HTTP和URI规范。 设计Web API时,最好将自己尽可能地限制在那些规范中能找到的概念和技术,这可以最大程度地减少客户端必须学习的特定于您的API的数量。HTTP和URI内在的概念是面向实体的,因此,以这种风格设计API更像是设计数据库,而不是设计典型...翻译 2020-01-22 09:49:59 · 334 阅读 · 0 评论 -
【Web Design The Missing Link】Appendix: Other Approaches to Representing Links
Chapter ResourceRepresentational State Transfer (REST), Roy Thomas Fielding2000 RESTful API Design Webinar, 2nd edition, Brian Mulloy, 2011Apigee BlogAPI Craft Google GroupChapterAppendix: O...翻译 2020-01-22 09:49:54 · 290 阅读 · 0 评论