什么是 RAML?
RAML,代表“RESTful API 建模语言”,是一种用于描述 RESTful API 的基于 YAML 的语言。它是开发 API 之前的蓝图,使开发人员和利益相关者更容易理解 API 的结构和行为.
什么是数据类型?
数据类型用于指定结构或客户端和服务器之间交换的数据类型。这允许验证请求和响应有效负载并维护有效负载标准。
内置数据类型
RAML 包括几种表示基本类型值的内置或原始数据类型。一些常见的内置数据类型包括:
- 字符串:表示文本数据。
- 数字:代表数值。
- 整数:代表整数。
- 布尔值:表示 true 或 false 值。
- 仅日期:表示不带时间部分的日期。
- 仅时间:表示不带日期部分的时间。
- DateTime:表示日期和时间。
用户定义的数据类型
您还可以在 RAML 中定义自定义或用户定义的数据类型。这些类型可以具有其自己的数据类型的特定属性。这使您可以为 API 创建结构化且可重用的组件。
用例
使用具有不同数据类型和格式的单一资源创建 RAML,并将其发布到 Exchange 上。
目标
- 创建 RAML 规范。
- 创建数据类型文件。
- 创建资源/用户并添加所需信息。
- 使用模拟服务验证端点。
- 发布到 Exchange。
第 1 步:创建 RAML 规范
- 在 Anypoint 平台上创建帐户。
- 导航至设计中心并创建 RAML 规范。
- 为您的规范指定一个适当的名称。
第 2 步:创建数据类型文件
- 在文件部分创建一个文件夹“dataTypes”。
- 创建文件夹 dataTypes 并添加请求和响应数据类型,如下所示。
- jsonDataTypeOne
- jsonDataTypeTwo
- xml数据类型
- 响应数据类型
jsonDataTypeOne
纯文本
#%RAML 1.0 数据类型
类型:对象
特性:
姓名:
类型:字符串
例如:“卡罗琳”
年龄:
类型:数字
示例:22
积极的:
类型:布尔值
示例:真实
jsonDataTypeTwo
纯文本
#%RAML 1.0 数据类型
类型:对象
特性:
姓名:
类型:字符串
例如:“卡罗琳”
年龄:
类型:数字
示例:22
地址:
类型:字符串
例如:“145 Main St,达拉斯,德克萨斯州”
xmlDataType
纯文本
#%RAML 1.0 数据类型
类型:对象
特性:
信息:
类型:字符串
例如:“成功”
有效负载:
类型:对象
示例:{}
第 3 步:创建资源/用户
下面是 RAML 规范示例。
纯文本
#%RAML 1.0
标题:测试
类型:
jsonTypeOne: !include dataTypes/jsonDataTypeOne.raml
jsonTypeTwo: !include dataTypes/jsonDataTypeTwo.raml
xmlType: !include dataTypes/xmlDataType.raml
响应类型:!include dataTypes/responseDataType.raml
/用户:
邮政:
身体:
应用程序/json:
类型:jsonTypeOne | json类型二
应用程序/xml:
类型:xml类型
回应:
200:
身体:
应用程序/json:
类型:响应类型
在上述 RAML 规范中,“|”符号用在主体类型中,这意味着它可以接受 jsonTypeOne 或 jsonTypeTwo。除此之外我们还可以发送 xmlType。
第 4 步:使用模拟服务验证端点
在上图中,我们可以看到它同时接受 json 类型和 xml 类型。它还允许用户在 jsonTypeOne 或 jsonTypeTwo 之间进行选择。
第 5 步:发布到 Exchange
RAML 规范准备就绪并使用模拟服务进行验证后,您可以将该规范发布到 Anypoint Exchange。发布到 Exchange 将使您的用户能够在开始实施之前验证端点。
摘要
综上所述,单个资源可以有不同的数据类型和不同的格式,用户可以根据自己的需求实现。