【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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

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

关注

评论

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

展示大屏-24小时天气预报

叫练

GPT账号被封,如何申诉找回

蓉蓉

ChatGPT GPT-4

足球场上的黑科技:图神经网络优化角球

算AI

#人工智能

Linux系统中“sid”是什么意思?

百度搜索:蓝易云

云计算 Linux 运维 云服务器 sid

究竟什么样的数据库,才能承接RTA广告这个技术活!

平平无奇爱好科技

【干货分享】华为云多模数据库GeminiDB架构与应用实践直播问答实录

平平无奇爱好科技

GeminiDB新特性:让Redis广告频控爱不释手的exHASH

平平无奇爱好科技

一文读懂兼顾隐私、高性能和可拓展的公链Partisia Blockchain

BlockChain先知

jsp和servlet有什么区别?

百度搜索:蓝易云

Java Linux 运维 Web 云服务器

GIT日常命令收集

百度搜索:蓝易云

git 云计算 Linux 运维 云服务器

提升JavaScript代码质量的最佳实践

南城FE

JavaScript 前端 代码质量

Redis不再 “开源”

派大星

redis 开源协议

华为云原生多模数据库GeminiDB架构与应用实践

平平无奇爱好科技

关于 ASP.NET Core 中的选项模式

雄鹿 @

ASP.NET Core

保护主机安全,我来buff加成

华为云开发者联盟

安全 开发 华为云 华为云开发者联盟 华为云云图说

喜讯!云起无垠入围2023年度中国高科技高成长企业系列榜单

云起无垠

vivo 消息中间件测试环境项目多版本实践

vivo互联网技术

RocketMQ 消息中间件 多版本环境隔离

2024年体育赛事直播平台现状分析:平台开发促进竞争与发展

软件开发-梦幻运营部

大模型的 Token 使用详解:限制与注意事项

木南曌

大模型

关于 ASP.NET Core 中的配置系统

雄鹿 @

ASP.NET Core

云计算与 AI 融合:Amazon Connect 开创客户服务智能时代

亚马逊云科技 (Amazon Web Services)

避免封禁困扰:数字人直播防封策略大揭秘!

青否数字人

数字人

探索华为云CCE敏捷版金融级高可用方案实践案例

华为云开发者联盟

开发 华为云 容器集群 华为云开发者联盟 华为云CCE

浅析KV存储之长尾时延问题,探寻行业更优解决方案!

平平无奇爱好科技

Python雪花代码

百度搜索:蓝易云

Python 云计算 Linux 运维 云服务器

Java:commons-codec实现byte数组和16进制字符串转换

百度搜索:蓝易云

Java Apache 云计算 Linux 运维

青否数字人已经实现直播17小时不封号!

青否数字人

数字人

Jetson Xavier nx 全盘加密

一五

AI 边缘计算 jetson 全盘加密 jetson xavier nx

Partisia Blockchain:如何做到兼顾隐私、高性能和可拓展?

石头财经

华为云GeminiDB发布新版本,全面支持Redis 6.2

平平无奇爱好科技

新版Redis不再“开源”,对使用者都有哪些影响?

平平无奇爱好科技

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