HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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:4310434
用户头像

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

关注

评论

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

adobe pr 2025有哪些新功能?

Rose

CompletableFuture总结和实践

百度搜索:蓝易云

极狐GitLab 足下科技,加速国产智驾操作系统的发展与普及

极狐GitLab

gitlab 智能驾驶 客户案例

AOT使用经验总结

沙漠尽头的狼

大模型准确率从17%到90%!为什么提示词工程是今天最珍贵的技能?

本原智数

人工智能 大模型 生成式AI 提示词工程 本原智数

After Effects 2025 全新升级 铸就特效传奇!

Rose

Premiere Pro 2025 for mac(adobe pr 2025)中文版

Mac相关知识分享

After Effects 2025 for mac(ae2025视频后期优化处理) v25.0.1中文版

Mac相关知识分享

管理团队的最佳实践

爱吃小舅的鱼

管理团队

华为应用市场:赋能开发者全生命周期服务体验

热爱编程的小白白

京东零售推荐系统可解释能力详解

京东零售技术

人工智能 推荐模型 可解释

三分之一的生成式AI项目将被放弃?从零开始看RAG如何变现

本原智数

人工智能 大模型 生成式AI rag 本原智数

小游戏3.0时代,应回归到游戏价值本身

FinFish

小程序容器 小游戏 小游戏技术 实时互动技术

摩尔线程开源vLLM-MUSA 加速国产GPU AI

吴脑的键客

人工智能

4K Wallpaper mac(4K壁纸软件)

Mac相关知识分享

RAR Extractor - Unzip for mac功能强大的解压缩软件

Mac相关知识分享

开源项目管理工具如何选?9款值得一试的选择

爱吃小舅的鱼

开源项目管理工具

淘宝商品详情API接口Java GET调用指南

代码忍者

API 接口 pinduoduo API

我们的 WebAssembly 实验:扩展 NGINX Agent

NGINX开源社区

nginx Wasm nginx 开源版

能让企业“网络隐身”的SPA,到底是什么黑科技?

芯盾时代

网关 零信任 SPA

不要让基础技术设施成为稳定性瓶颈

老张

环境配置 基础架构 稳定性治理

TableFill:一天搞定1000人的数据填报工作

袋鼠云数栈

Print to PDF Pro for mac(PDF文件打印软件) v5.2.5激活版

Mac相关知识分享

纽约时报诉OpenAI:生成式AI时代的数据陷阱与法律边界

本原智数

人工智能 数据采集 数据合规 本原智数

开源建木荣获 GitCode年度十大开源社区荣誉

都广科技

#开源

10人小公司管理指南:从沟通到绩效评估

爱吃小舅的鱼

公司管理

如何正确保护Python代码,不是Pyinstaller

LLLibra146

Python 代码保护

一书了解AI的下一个浪潮!

博文视点Broadview

大众点评诉百度,数据爬虫合法边界引关注

本原智数

人工智能 数据合规 本原智数 数据爬虫

适合才最美:Shiro安全框架使用心得

威哥爱编程

Java javaWeb shiro JavaEE

SpringBoot启动原理详解(图文全面总结)

江南一点雨

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