从body类型(RAML)中排除属性的方法是什么?
Is the way to exclude property from body type (RAML)?
当您使用类型并使用 RAML 1.0
编写 API 时,有没有办法从请求 body 中排除一个或多个属性
我会解释的。我有一个类型:'Order' 具有一组属性。我有一个资源 /orders
和一个允许用户创建新订单的方法 post
。
请求 body 是一个订单结构 json 并且响应也是一个订单结构。
但我不希望用户在提交请求时指定订单 ID。但是该 ID(以及更多 'response only' 字段)将在响应中返回。我不想创建一个额外的类型,比如 OrderRequest
然后用 Order
类型继承它,也许有更优雅的解决方案?
所以我想有一种方法可以从请求中排除一些属性 body 并保留其他属性以便使用它们的描述和示例。
谢谢,对不起我的英语:)
使用两种类型。第二个将是第一个的 child。示例:
#%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
您还可以在类型声明中包含 Library。
由于您不想创建具有继承性的额外类型,您仍然可以将该字段标记为可选字段并记录它在响应中的存在。
当您使用类型并使用 RAML 1.0
编写 API 时,有没有办法从请求 body 中排除一个或多个属性我会解释的。我有一个类型:'Order' 具有一组属性。我有一个资源 /orders
和一个允许用户创建新订单的方法 post
。
请求 body 是一个订单结构 json 并且响应也是一个订单结构。
但我不希望用户在提交请求时指定订单 ID。但是该 ID(以及更多 'response only' 字段)将在响应中返回。我不想创建一个额外的类型,比如 OrderRequest
然后用 Order
类型继承它,也许有更优雅的解决方案?
所以我想有一种方法可以从请求中排除一些属性 body 并保留其他属性以便使用它们的描述和示例。
谢谢,对不起我的英语:)
使用两种类型。第二个将是第一个的 child。示例:
#%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
您还可以在类型声明中包含 Library。
由于您不想创建具有继承性的额外类型,您仍然可以将该字段标记为可选字段并记录它在响应中的存在。