设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

MuleSoft开源设计RESTful APIs的RAML Tools

2013-11-11 12:32| 发布者: joejoe0332| 查看: 2019| 评论: 0|原作者: infoQ|来自: infoQ

摘要:   近日,MuleSoft发布了3款基于RAML的用于设计、评估和测试RESTful APIs的工具。   RAML来源于RESTful API建模语言,它是一种让人们易于阅读并且能让机器对特定的文档能解析的语言。RAML是基于YAML,符合1.2版本 ...

  近日,MuleSoft发布了3款基于RAML的用于设计、评估和测试RESTful APIs的工具。


  RAML来源于RESTful API建模语言,它是一种让人们易于阅读并且能让机器对特定的文档能解析的语言。RAML是基于YAML,符合1.2版本规范,能帮助设计RESTful API和鼓励对API的发掘和重用,依靠标准和最佳实践从而编写更高质量的API。


  这些由MuleSoft开发的基于RAML的Web工具分别是:


  API Designer:一个专门用于创建和分享API标准的web编辑器。它能提示在什么地方应该使用什么元素以及指出创建的RAML文档中的错误。下面的代码片断中,有一个books的API,其中有get方法,它返回同一个作者编写的所有书籍,而{booksId}部分有一个方法用于获得指定的书本并且delete方法用于从集合中删除书本。


image


  从上面的代码片断可以看到,API定义能充分利用用于定义更复杂资源的模式。同时,位于编辑器底部列出了方法、参数、资源和其他在API定义过程中需要的元素。


  API Console:用于图形化显示和评估创建的API,勾画出文档的结构和模型。下图显示了针对上面的例子所定义的API对应的控制台的样子,其中包括的books的try区域对于测试API调用特别有帮助:


image


  API Notebook:一个用于测试API的Javascript控制台,它本身是和其他的API一起组合而成。它能生成用RAML描述的API用户客户端并可以开始使用它们。


  RAML的开发是多人组成的工作团队,其中包括MuleSoft公司的CTO Sarid、Intuit公司的首席架构师Ivan Lazarov、PayPal的用户界面工程高级总监Bill Scott、AngularJS项目的发起人Mi?ko Hevery、Programmable Web & API项目发起人John Musser、Box公司的高级产品平台经理和在退伍军人事务部的总统创新研究项目(参考:http://en.wikipedia.org/wiki/Presidential_Innovation_Fellows)研究员Kin Lane。针对该工作团队和他们的计划,Sarid告诉InfoQ:

RAML目前还是处于早期阶段,我们要确保它的发展能有效地解决当今API设计和描述的迫切需要,并且没有陷入过于沉重的正式治理困境。为此,我们已经成立了一个志同道合的工作组,其成员都是来自在API方面有重大贡献的业界领先企业,这个工作组与来自社区的投入将带动RAML的发展。工作组的成员名单可以在raml.org网站上找到。随着时间的推移,我们会调整成员,以保持组织的活跃,能让其受益于各种各样的观点同时也能精简以保持灵活,专注于目标。我们邀请社区人士参与这样一个开放的,关注长期战略目标及基于现实世界的讨论。


  关于RAML的未来,Sarid补充说道:

我们认为,RAML已经解决了许多实际的RESTful API提供者和消费者当前所面临的问题,但绝不是所有。例如,我们还没有想通如何捕获如请求域中的输入参数和在响应BODY中输出数据之间的依赖 ―― 或者至少如何这样用一个整洁的、强大的和与RAML设计目标相一致的方式直观呈现。目前对于基于JSON的API我们也并不感到满意 ,因为刚仅是让body部分以JSON schema呈现;它们并没被更多的XML schema所采用,并且它们可能还不能满足RAML 社区的其他一些要求。摆在我们面前并不清晰的是一个更大的问题,是REST设计上的限制,特别是超媒体。如果我们单单限制RAML在RESTful API方面,那么它则会 ,1 )不会应用到几乎任何现有的API ,以及2)目前对大多数API使用者并不可行。因此,我们从REST的API的基本部分着手 ―― 资源、方法、参数和不需要超媒体的body -- 并将从那里演变。


  RAML目前的版本是0.8,完整的规范定义通过https://github.com/raml-org/raml-spec下载。同时,以CoffeeScript编写的RAML parser已经发布。


  查看英文原文:MuleSoft Open Sources RAML Tools for Designing RESTful APIs


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部