Raml实践

简介:RAML的全称是RESTful API Modeling Language,这是一种用来描述基于Restful架构的API(设计API)的语言。它的语法规范是基于YAML的新规范,因此机器与人类都能够轻易地理解其中的内容。

一、工具安装

一、API Workbench(客户端工具-推荐)

介绍:

API Workbench是一个丰富的全功能集成开发环境(IDE),用于设计,构建,测试,记录和共享RESTful HTTP API。

它支持RAML 0.8和最近启动的RAML 1.0。

RAML使得易于管理从设计到共享的整个API生命周期。

安装:

1.安装Atom

2.在Setting->Install栏目,搜索并安装api-workbench

3.在Setting->Packages中可以看到已安装的api-workbench

二、API Designer(Web工具)

介绍:

由MuleSoft开发的基于RAML的Web工具,专门用于创建和分享API标准的web编辑器。

它能提示在什么地方应该使用什么元素以及指出创建的RAML文档中的错误。

安装:

1.安装Nodejs

2.通过npm安装模块

npm install -g api-designer

3.运行命令

api-designer

三、raml2html

介绍:

把.raml转换成html格式便于查看

安装:

1.安装nodejs

2.通过npm安装模块

npm install -g raml2html

3.运行命令

raml2html api.raml > api.html

4.预览图

二、Raml语法

根节点元素汇总

1.documentation

可选文档节点包括作为API的用户指南和参考文档的各种文档。这些文件可以阐明API如何工作或提供技术和业务环境。

文档节点的值是一个或多个文档的序列。每个文档都是一个映射,必须在下面的表中有两个键值对:

名称

描述

title

文件标题。它的值必须是非空字符串。

content

文件内容。它的值必须是一个非空字符串,可以使用Markdown格式。

举例:

#%RAML 1.0

title: ZEncoder API

baseUri: https://app.zencoder.com/api

documentation:

- title: Home

content: |

Welcome to the _Zencoder API_ Documentation. The _Zencoder API_

allows you to connect your application to our encoding service

and encode videos without going through the web interface. You

may also benefit from one of our

[integration libraries](https://app.zencoder.com/docs/faq/basics/libraries)

for different languages.

- title: Legal

content: kkkkkkk

效果:

1

2.Base URI and Base URI Parameters

可选的baseuri节点指定一个URI作为标识符的API作为一个整体,并可用于指定URL的API服务(服务终端),构成它的每个资源的URL的基础。该baseuri节点的值是一个字符串,必须符合规范或模板rfc2396 URI的URI。

距离:

#%RAML 1.0

title: Amazon S3 REST API

version: 1

baseUri: https://{bucketName}.s3.amazonaws.com

baseUriParameters:

bucketName:

description: The name of the bucket

效果:

3.Protocols

可选协议节点指定API支持的协议。如果协议节点没有明确规定,在baseuri节点包含一个或多个协议使用;如果协议是显式指定的节点,节点规范凌驾于任何协议包括在baseuri节点。该协议的节点必须是一个非空的字符串数组,值的HTTP或HTTPS,并是不区分大小写。

下面是一个例子,一个API端点接收HTTP和HTTPS请求。

举例:

#%RAML 1.0

title: Salesforce Chatter REST API

version: v28.0

protocols: [ HTTP, HTTPS ]

baseUri: https://na1.salesforce.com/services/data/{version}/chatter

4.Default Media Types

raml2html 安装,Raml实践相关推荐

  1. centos 安装mysql5.7_Zabbix 4.2.5 安装部署实践详解

    [导读]云计算背景下,无论是大数据.物联网还是边缘计算,规模化后大量的设备需要保证正常运行,在人员一定的情况下,就需要提高运行维护效率.同时随着智能化被应用在人们生活的方方面面,关联性也越来越紧密,即 ...

  2. 使用二进制的方式安装mysql实践纪要

    下面是记录使用二进制的方式安装mysql的步骤 2011.3.5      使用二进制安装的好处 mysql安装为什么大部分使用二进制安装.而不是源码手动去编译? mysql使用的glibc进行开发的 ...

  3. 时空大数据实践之GeoWave安装部署实践

    2019独角兽企业重金招聘Python工程师标准>>> 时空大数据实践之GeoWave安装部署实践 GeoWave是由国家地理空间情报局(NGA)与RadiantBlue和Booz ...

  4. 大数据时代的全能日志分析专家--Splunk安装与实践

    大数据时代的全能日志分析专家 --Splunk安装与实践 0.背  景 随着大家对网络安全意识的提高,企业网管理人员,必须对IT基础设置进行监控及安全事件的管理,管理数据的数量和种类非常巨大,那么就需 ...

  5. Zabbix 4.2.5 安装部署实践详解

    一.安装 1.安装CentOS操作系统,并配置网络 2.安装Zabbix官方源 rpm -ivh http://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zab ...

  6. linux环境手动编译安装Nginx实践过程 附异常解决

    linux环境手动编译安装Nginx实践过程 附异常解决 参考文章: (1)linux环境手动编译安装Nginx实践过程 附异常解决 (2)https://www.cnblogs.com/david9 ...

  7. 老旧笔记本安装openwrt实践:

    老旧笔记本安装openwrt实践: 此文件包使用如下 1.把AX88179 USB 3.0 to LAN 网卡首先插入笔记本网口,然后插上U盘启动盘,进入PE 2.在pe环境下把硬盘全盘格式化成MBR ...

  8. 服务器搭建hue_Hue安装配置实践

    Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是基于Python Web框架Django实现的.通过使用 ...

  9. docker 安装与实践

    docker 安装与实践 1. 简单介绍 1.1 本次实验主要完成的工作有: 配置docker环境.构建并运行简单镜像,配置Mysql.docker volumn挂载.配置Docker compose ...

最新文章

  1. 麻省理工开放官方课程项目!
  2. 抓老鼠啊~亏了还是赚了?
  3. jmap查看内存使用情况与生成heapdump--转
  4. 我张哥做的这ARM开发板,真酸爽!
  5. JavaScript基础和记背内容 Day1
  6. The CC version check failed下出现Failed CC version check. Bailing out! 解决方案
  7. ----流程控制-条件控制/循环控制\错误控制/程序终止控制
  8. vs2013 资源视图 看不到东西
  9. 收藏!深度学习必读10篇经典算法论文总结!
  10. php多人聊天室系统,PHP打造多人在线聊天室[一]
  11. Databricks:打造数据国度的“金砖四国”
  12. 储存数据与操作Excel [爬虫专题(9)]
  13. 财管毕业论文哪些题目比较好写?
  14. 【C进阶】之结构体类型( struct)
  15. Android 找不到资源异常,Android 问题之找不到资源解决办法
  16. LED屏显示模块的组成及工作原理介绍
  17. 受关注的两个投资市场就是港股和美股
  18. PIC16F877A单片机 (ADC)
  19. Python免费快速接入图灵机器人接口
  20. excel合并多工作簿同名工作表?

热门文章

  1. 安卓按钮设置背景颜色不管用_MIUI10新功能:时钟背景黑白自选、公交卡自定义时段唤起...
  2. Java SimpleTimeZone inDaylightTime()方法及示例
  3. java 方法 示例_Java集合的lastlastIndexOfSubList()方法和示例
  4. linux系统层次结构_Linux文件系统层次结构问题和解答
  5. 2万字!66道并发面试题及答案
  6. 拦截地址栏参数_selenium操作chrome时的配置参数
  7. java hs err pid_JAVA 奔溃 生成hs_err_pid****的文件,求大神看看
  8. hive币涨幅空间大吗_自动消防水炮只能安装在大空间场所吗
  9. UC浏览器电脑版怎么设置字体大小 UC浏览器字体设置教程
  10. win7系统如何提高电脑运行速度