Api 是从主体类型(RAML)中排除属性的方法吗?

Api 是从主体类型(RAML)中排除属性的方法吗?,api,raml,Api,Raml,当您使用类型并使用RAML 1.0编写API时,是否有方法从请求体中排除一个或多个属性 我会解释的。我有一个类型:“Order”和一组属性。我有一个资源/orders和一个允许用户创建新订单的方法post。 请求主体是order struct json,响应也是order struct 但我不希望用户在提交请求时指定订单id。但该id(以及更多“仅响应”字段)将在响应时返回。我不想创建一个额外的类型,比如OrderRequest,然后用Order类型继承它,也许有一个更优雅的解决方案 因此,我想

当您使用类型并使用RAML 1.0编写API时,是否有方法从请求体中排除一个或多个属性

我会解释的。我有一个类型:“Order”和一组属性。我有一个资源
/orders
和一个允许用户创建新订单的方法
post
。 请求主体是order struct json,响应也是order struct

但我不希望用户在提交请求时指定订单id。但该id(以及更多“仅响应”字段)将在响应时返回。我不想创建一个额外的类型,比如
OrderRequest
,然后用
Order
类型继承它,也许有一个更优雅的解决方案

因此,我想有一种方法从请求主体中排除一些属性,并保留其他属性,以便使用它们的描述和示例


感谢并抱歉我的英语:)

使用两种类型。第二个将是第一个的孩子。例如:

#%RAML 1.0
title: GitHub API
version: v3
baseUri: https://api.github.com
mediaType:  application/json
types:
  OrderCreating:
    type: object
    properties:
      products:
        description: List of product ids with amount.
        required: true
        type: object
        properties:
          []:
            type: number
      coupon?: string
  Order:
    type: OrderCreating
    properties:
      id: integer
      price: number
...
/orders:
  post:
    body:
      application/json:
        type: OrderCreating
  /{orderId}:
    get:
      responses:
        200:
          body:
            application/json:
              type: Order

您还可以在类型声明中包含。

由于您不想创建具有继承性的额外类型,您仍然可以将字段标记为可选字段,并记录它在响应中的存在