构建web可访问应用编程接口很简单,但使之良好工作,而且不间断却不简单,Les Hazlewood在2013年JavaOne大会上如此说,他是Stormpath的首席技术官。Hazlewood在大会上展示了通过JAX-RS和Jersey构建美好的REST+JSON API的最佳实践。
“表面看来,良好的REST API很简单,即使后端很复杂,” Hazlewood在一次采访说到。一个API关注一系列的东西,以及如何表现个人的东西。减少API集合,搜索所有书籍和出版刊物,你会发现一个简洁的解决方案,它很直观,且不是太复杂。
在本文中,Hazlewood深入打探讨了API最佳实践、REST API和JSON的优缺点等等。
使用REST API时,什么是开发人员需要探索的?
Les Hazlewood:REST作为架构式构建存在于HTTP的最顶层。你交换数据的方式、你创建、读取、更新和删除数据的语义都建立在HTTP规范之内。REST是用于编纂当交换跨分离机器创建读取-删除时的工作环境如何。
这就是REST,编纂这些跨分离机器的行为发生的方式。因为它依赖于HTTP,我可能有一台Linux机器,它可以与Windows机器时行对话,也可以与Mac机对话。它并不是平台或厂商特定的。因为HTTP无处不在,所以REST就无处不在。所有语言(Python、PHP、Java和C#)都可以与REST一起工作。
REST简化了所有方面。所有人都以为他们了解了HTTP。这正是你的浏览器所讲的东西。他们知道HTTP协议、知道GIT、知道POST,因为他们多年以来一直在填写web表单。所以因为REST只使用HTTP,开发人员就认为它很简单,但是现在REST服务越来越多,而不是XML,它融汇的SOAP。
使用REST的难点在哪?
Hazlewood::这正是我要做的演讲原因。REST是架构样式,但是使用它的方法论还没有正式的标准和规范。用样式来解释一下。我认为它的运行方式可能会与你以为稍微有点不同。因为它不是一个机器可以复制的规范,这里掺入了人为的因素。把东西变得简单易用的漏洞往往都不简单。REST和JOSN很简单。HTTP很简单。但要确保使用两者解决问题时,要直观,而不是随处都可编码化。
你推荐JSON和REST一起使用的其它原因还有什么?
Hazlewood:REST和JSON提供了与人友好的数据表述方法;数据不再像XML那样拥挤;你的肉眼就可以很容易看到。这一直都是广泛采用JSON的原因。
JSON是语法规范。它只是定义了基本的字符串、数字、空值、非空值。它允许你以一种简单的模式表述复杂的事情,而且以最小的元数据量。它如此的篇章,可以用于许多不同的环境中。机器很容易对其进行解析。人们也很容易阅读。
JavaScript是世界上一个占有重要位置的编程语言。即使主要的应用是由Java、Python或C#构建的,比重也很高,如果你有一个网页,或一个可视的用户界面,那么就会涉及到一些JavaScript。JSON与JavaScript兼容。所有具备JavaScript编程经验的人都会发现他们很容易就会了解JSON。如果你已经使用了JavaScript,那就能很轻松地与API集成。如果API返回给JSON,而且你已经编写的JavaScript,那么你的编程语言就已经知道如何与返回给服务器的数据进行交互。JSON使用JavaScript进行数据交换,而不只是编写软件,这在当前已经很流行了,
什么时候使用JSON正确,什么时候错误?
Hazlewood:显然,XML在结构化表述数据上更好。XML文档中包含更多的信息,类型在XML文档中表述会更有效。XML非常适合数据交换,但易用性方面却使用开发者犹豫了。JSON用肉眼就可以检查。XML在设计上更复杂。JSON是非常简单的语法。谈到语言设计,JSON只构建了一小部分的核心元素,而且一切都源于这一小部分元素。因为它的简单性,它很容易操作,也很容易理解。与XML相比,JSON并不是很适合机器消化信息。从这点来看,XML就会做的更好。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
数字化转型:如何更好地利用API和微服务
API,即应用程序编程接口,它提供给应用程序、开发人员访问其它应用的能力,而又无需访问源码,无需理解内部工作机制细节;简单地说,API就是实现应用与应用连接的一种隐形的桥梁。
-
金融行业数字转型:利用API构建新IT基础
从制造业、物流业,银行业到零售业,各行各业的根基都因应用经济的兴起发生着深刻的变革。在互联网和智能手机普及化的推动下,这种现象变得司空见惯。到2021年 ,蓬勃发展的全球应用经济的预估总值将达到6.3万亿美元,相比2016年的1.3万亿美元,增长近5倍。
-
如何使用Azure API管理服务?
在云和微服务架构时代,API是数字化业务的通用语言。根据分析公司Forrester Research预测,仅在美国,API管理工具的支出将在未来5年内达到近30亿美元。
-
私有存储云如何构建?
如何构建自己的私有存储云呢?在这之前,我们要先退后一步,思考一下云计算到底意味着什么。