原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com
 
RAML是什么?
 
RAML是一种简洁的RESTful API描述性语言,它基于 YAML和JSON这样的公开标准构建。通过RAML定义,可以生成客户端调用代码和服务端代码结构,创建API说明文档。
 
我们知道Web Service有相应的WSDL来描述它相应的Schema,WSDL就相当于对当前的服务做了一个描述,Client端可以据此生成相应的Proxy代码, 因此WSDL可以帮助Client更容易的消费服务。
 
对于RESTful API,却没有相应的“REST WSDL”,在这种情况下,RAML应运而生,它可以对我们的API做完整的描述,不管是对人或者是机器,都能以相对友好的方式使用。
 
RAML能帮助我们做什么?
 
RAML可以帮助你组织:
 
1.基本信息。描述RESTful API的关键点,比如名字、标题、路径等。
 
2.用户文档。描述技术支持性文档帮助用户更方便的消费API,通过文档生成器创建PDF或者HTML。
 
3.资源。描述如何规范RESTful资源,资源的方法和Schema,以及资源之间的交互。
怎样使用RAML设计API?
 
目前已经支持关键字自动提示,自动完成,语法错误检测,实时预览,功能相对完善,程序员使用起来很容易上手。
 
RAML设计器和解析器都是github的开源项目,我们可以将他们集成到自己的产品中。
 
前文看到的文档就是利用RAML解析器生成的,它是一个压缩后大约240k的Javascript文件,可以加载到浏览器或者Node.js中运行,利用解析器可以Load指定的RAML文件生成HTML文档。
 
RAML相关的工具和资源在哪里?
 
官方网站:http://raml.org 
规范文档:http://raml.org/spec.html
设计器:https://github.com/mulesoft/api-designer
解析器:https://github.com/raml-org/raml-js-parser 

REST建模语言RAML介绍的更多相关文章

  1. 统一建模语言UML---类图

    什么是统一建模语言,来看看百科中的介绍统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明.可视化和编制文档的一种标准语言,是非专利的第三代建模 ...

  2. Velocity语言的介绍

    Velocity语言的介绍 2016-09-06 15:39:25 语言介绍 Velocity是一种Java模版引擎技术,是一个基于Java的模板引擎(template engine).她允许任何人简 ...

  3. Atitit.软件的建模种类and 建模语言选型and UML???

    Atitit.软件的建模种类and  建模语言选型and UML??? 1. 4大的建模种类:ui建模,业务流程建模 , 业务对象建模, 数据库建模 1 2. 文本还是图片化(推荐)的建模 1 3.  ...

  4. 【个人笔记】002-PHP基础-01-PHP快速入门-02-PHP语言相关介绍输

    002-PHP基础-01-PHP快速入门 02-PHP语言相关介绍 1.PHP是什么 Hypertext Preprocessor超文本预处理器 是一种通用开源脚本语言 Personal Home P ...

  5. UML2.0统一建模语言

      Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规 ...

  6. 技术人应该学习的行话--UML统一建模语言

    新生代码农如何在硝烟弥漫的商业丛林中生存和崛起? 洞见,让一部分先遇见未来. 最近公司技术部在组织架构师培训,有幸参与.导师老刘特别推荐了UML语言的学习.回想多年来,自己习惯做一些流程图,框图或者所 ...

  7. UML标准建模语言与应用实例

    一.基本信息 标题:UML标准建模语言与应用实例 时间:2012 出版源:科技创新导报 领域分类:UML标准建模语言 面向对象 系统分析与设计 二.研究背景 问题定义:UML建模语言用图形来表现典型的 ...

  8. 面向对象基础及UML建模语言

    1.面向对象的方法起源于面向对象程序设计语言,其发展过程大体经历了初始阶段.发展阶段和成熟阶段. 2.面向对象方法主要优点 (1)从认识论的角度可以看出,面向对象方法改变了开发软件的方式. (2)面向 ...

  9. UML(统一建模语言)是通用的可视化标准建模语言。由构造块、公共机制、构架三部分组成。

    UML UML(统一建模语言)是通用的可视化标准建模语言.由构造块.公共机制.构架三部分组成. 1.构造块:包括基本的UML建模元素(类.接口.用例等).关系(关联关系.依赖关系.泛化关系.实现关系) ...

随机推荐

  1. asp.net C# cookies 的使用方法

    Response.Cookie("username").value="aa" 写入username=Request.Cookies("username ...

  2. 选择HttpHandler还是HttpModule?

    阅读目录 开始 理解ASP.NET管线 理解HttpApplication 理解HttpHandler 理解HttpModule 三大对象的总结 案例演示 如何选择? 最近收到几个疑问:HttpHan ...

  3. python 实现彻底删除文件夹和文件夹下的文件

    python 中有很多内置库可以帮忙用来删除文件夹和文件,当面对要删除多个非空文件夹,并且目录层次大于3层以上时,仅使用一种内置方法是无法达到彻底删除文件夹和文件的效果的,比较low的方式是多次调用直 ...

  4. Python小练习五

    # 一个简单的数据库 # 字典使用人名作为键.每个人用另一个字典来表示,其键'phone'和'addr'分别表示它们的电话号码和地址. people = { 'Alice':{ ', 'addr': ...

  5. Python小练习二

    # 以正确的宽度在居中的"盒子"内打印一个句子 # 注意,整数除法运算符(//)只能用在Python 2.2及后续版本,在之前的版本中,只使用普通除法(/) sentence = ...

  6. UI Automation Test

    UI Automation test is based on the windows API. U can find the UI Automation MSDN file from http://m ...

  7. oracle后台进程详解

    oracle后台进程伴随实例的启动而启动,他们主要是维护数据库的稳定,相当于一个企业中的管理者及内部服务人员.他们并不会直接给用户提供服务.   一:database write--数据写入  DBW ...

  8. Spring学习笔记 6. 尚硅谷_佟刚_Spring_Bean 之间的关系

    1,继承关系 首先从简单的代码来看,有一个Address类,配置文件有两个bean (1)Address类 package com.zsq; public class Address { privat ...

  9. java覆盖和隐藏

    隐藏指的是子类把父类的属性或者方法隐藏了,即将子类强制转换成父类后,调用的还是父类的属性和方法,而覆盖则指的是父类引用指向了子类对象,调用的时候会调用子类的具体方法. (1) 变量只能被隐藏(包括静态 ...

  10. 第8章 NAND FLASH控制器

    8.1 NAND Flash介绍和NAND Flash控制器使用 NAND Flash在嵌入式系统中的地位与PC上的硬盘类似 NAND Flash在掉电后仍可保存 8.1.1 Flash介绍 有NOR ...