免费下载案例集|20+数字化领先企业人才培养实践经验 了解详情
写点什么

MuleSoft 开源用于设计 RESTful APIs 的工具 RAML Tools

  • 2013-11-09
  • 本文字数:1511 字

    阅读完需:约 5 分钟

近日, 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 方法用于从集合中删除书本。

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

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

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

2013-11-09 11:4310424
用户头像

发布了 81 篇内容, 共 23.9 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

Yarn日志聚合优化—摆脱HDFS依赖

kwang

大数据 YARN

一名优秀的女程序员是如何炼成的?我们跟爱奇艺的五位工程师姐姐聊了聊

爱奇艺技术产品团队

如何破解区块链人才的结构性问题?

CECBC

区块链

翻译:《实用的Python编程》04_04_Defining_exceptions

codists

Python

【20万大奖】参加APICloud3.0案例与AVM组件大赛,赢现金大奖

YonBuilder低代码开发平台

开发者 大前端 APP开发 APICloud

还不懂云数据库Redis是什么?快上车,一张图带你了解!

云数据库

【笔记】第七周 第1课

Geek_娴子

深读golang中map后思考和借鉴

ninetyhe

源码 Go 语言

项目截图

赝品

“看得见 摸不着”的数字货币 助推数字经济强国建设

CECBC

数字经济

【动态规划/路径问题】强化 DP 分析方法练习题 ...

宫水三叶的刷题日记

面试 LeetCode 数据结构与算法

终于有人把 "高可用" 说清楚了

架构精进之路

3月日更

引爆40亿播放的抖音春节道具,背后是怎样的技术?

字节跳动技术团队

Hello World!!!

小太阳

音乐api接入HIFIVE音乐开放平台,获取百万正版音乐,最快30分钟集成上线!

HIFIVE音加加

API sdk 音乐 物联网,API,sdk

Nacos配置安全最佳实践

Robert Lu

nacos 配置中心

关于写东西的一点思考

道伟

28天写作

价值感知:如何评价企业IT项目的价值?

boshi

价值传递 七日更 项目经验

震荡的比特币:区块链的“照妖镜”

CECBC

数字货币

LeetCode题解:125. 验证回文串,双指针,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

JAVA中的I/O模型-多路复用

Java 架构 计算机

为什么选择python

张鹤羽

28天写作 3月日更

已经整整10年了,经济学人分析日本福岛核泄漏事故带来的沉重影响

wbliu85

HashData携手中国移动 共筑通信技术数字化之路

酷克数据HashData

数据库 解决方案

如何带团队?

石云升

程序员 28天写作 职场经验 管理经验 3月日更

华为不养猪,小米没造车,“巨头错觉”是怎么来的?

脑极体

2021最新快手面经主动分享:Java面试神技/技术知识集合(10个专题详细介绍)

比伯

Java 编程 架构 面试 程序人生

Wireshark数据包分析学习笔记Day7

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

数字货币持币生息钱包系统开发搭建

薇電13242772558

区块链 数字货币

Python 变量类型

依旧廖凯

28天写作 3月日更

Python 基础语法

依旧廖凯

28天写作 3月日更

MuleSoft开源用于设计RESTful APIs的工具RAML Tools_REST_Abel Avram_InfoQ精选文章