Mukle 4:RAML:如何在 RAML 文件中定义 POST BODY 请求的架构?
Mukle 4 : RAML : how to define the schema of a POST BODY request in a RAML file?
一个 POST REST 请求具有 3 个正文参数,如下所示:
{
"name" : "ABC",
"age": 34,
"uniqueID": "12345sdfgh"
}
我的要求是为每个字段名称、年龄和唯一 ID 定义约束(类型、最大长度、最小长度、正则表达式等)。
我该如何定义它?
有一些不同的方式来定义它。 'pure' RAML 方式是使用RAML definitions for types 为数据对象定义数据类型片段。这些应该可以满足您的所有需求。
示例:
dataType.raml
#%RAML 1.0 DataType
type: object
displayName: Booking
properties:
BookingDetail:
type: object
required: true
displayName: "BookingDetail"
description: "BookingDetail"
properties:
Name:
type: string
required: true
displayName: "Name"
description: "Name"
example: "John"
NumberOfDays:
type: integer
required: true
minimum: 1
maximum: 10
API:
#%RAML 1.0
title: so-type
/bookings:
post:
body:
application/json:
type: !include dataType.raml
如果您愿意,也可以使用 JSON 模式:
/orders:
post:
body:
application/json:
type: !include schemas/OrdersSchema.json
一个 POST REST 请求具有 3 个正文参数,如下所示:
{
"name" : "ABC",
"age": 34,
"uniqueID": "12345sdfgh"
}
我的要求是为每个字段名称、年龄和唯一 ID 定义约束(类型、最大长度、最小长度、正则表达式等)。
我该如何定义它?
有一些不同的方式来定义它。 'pure' RAML 方式是使用RAML definitions for types 为数据对象定义数据类型片段。这些应该可以满足您的所有需求。
示例:
dataType.raml
#%RAML 1.0 DataType
type: object
displayName: Booking
properties:
BookingDetail:
type: object
required: true
displayName: "BookingDetail"
description: "BookingDetail"
properties:
Name:
type: string
required: true
displayName: "Name"
description: "Name"
example: "John"
NumberOfDays:
type: integer
required: true
minimum: 1
maximum: 10
API:
#%RAML 1.0
title: so-type
/bookings:
post:
body:
application/json:
type: !include dataType.raml
如果您愿意,也可以使用 JSON 模式:
/orders:
post:
body:
application/json:
type: !include schemas/OrdersSchema.json