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