包装响应对象的 RAML 特征(用于定义 REST API)
RAML Trait wrapping a response object (for defining REST API)
使用 RAML,我正在尝试创建一个信封,多个 API 可以使用它来包装响应。即,通用响应包络。
我想到了这个:
title: Response Envelop
version: 1.0
uses:
another: ./another.raml
traits:
responseEnvelope:
usage: This trait should be used to wrap any response object
body:
application/json:
type: object
properties:
metadata:
type: another.AType
responseObjectToWrap:
type: any
message:
type: another.BType
我很难定义上面的 responseObjectToWrap
部分。这是将由响应包络包装的类型。 type: any
有效吗?
此外,如何在 API 中使用此特征?例如,如果我想使用此信封包装类型 NewType
。
您可以为类型“<>”使用变量:
responseEnvelope:
usage: This trait should be used to wrap any response object
body:
application/json:
type: object
properties:
metadata:
responseObjectToWrap:
type: <<typeName>>
message:
然后在您定义资源特征时传递该类型:
/myResource:
post:
is: { responseEnvelope: { typeName : MyCustomType } }
完整示例:
#%RAML 1.0
title: Response Envelop
version: 1.0
traits:
responseEnvelope:
usage: This trait should be used to wrap any response object
body:
application/json:
type: object
properties:
metadata:
responseObjectToWrap:
type: <<typeName>>
message:
types:
NewType:
properties:
bla:
/myResource:
post:
is: { responseEnvelope: { typeName : NewType } }
已更新。最初发布到错误的问题并被mods立即删除因为是重复的
使用 RAML,我正在尝试创建一个信封,多个 API 可以使用它来包装响应。即,通用响应包络。
我想到了这个:
title: Response Envelop
version: 1.0
uses:
another: ./another.raml
traits:
responseEnvelope:
usage: This trait should be used to wrap any response object
body:
application/json:
type: object
properties:
metadata:
type: another.AType
responseObjectToWrap:
type: any
message:
type: another.BType
我很难定义上面的 responseObjectToWrap
部分。这是将由响应包络包装的类型。 type: any
有效吗?
此外,如何在 API 中使用此特征?例如,如果我想使用此信封包装类型 NewType
。
您可以为类型“<>”使用变量:
responseEnvelope:
usage: This trait should be used to wrap any response object
body:
application/json:
type: object
properties:
metadata:
responseObjectToWrap:
type: <<typeName>>
message:
然后在您定义资源特征时传递该类型:
/myResource:
post:
is: { responseEnvelope: { typeName : MyCustomType } }
完整示例:
#%RAML 1.0
title: Response Envelop
version: 1.0
traits:
responseEnvelope:
usage: This trait should be used to wrap any response object
body:
application/json:
type: object
properties:
metadata:
responseObjectToWrap:
type: <<typeName>>
message:
types:
NewType:
properties:
bla:
/myResource:
post:
is: { responseEnvelope: { typeName : NewType } }
已更新。最初发布到错误的问题并被mods立即删除因为是重复的