我正在使用Anypoint Studio 7.2.3和Mule运行时4.1编写RAML。
我有一个用于订单对象的JSON模式,并且我还需要一个用于订单对象列表的JSON模式。我以为可以在JSON架构中引用订单对象以保存在2个架构中保持相同字段的订单列表,但是我看到一个错误,因为$ schema出现两次,并且在添加一个JSON示例时显示错误RAML中的订单列表。
是否可以有一个可由订单列表JSON模式引用的单独的订单对象JSON模式?
订购对象JSON模式(简化版本)
{
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema",
"properties": {
"orderId": {
"type": "string",
"maxLength": 255
},
"comments": {
"type": "string",
"maxLength": 255
}
},
"required": [
"orderId"
]
}
订单列表JSON模式
{
"type": "array",
"$schema": "http://json-schema.org/draft-04/schema",
"properties": {
"$ref": "#Order"
}
}
下面的JSON模式适用于订单列表,但意味着我将需要在2个独立的模式中维护字段,以便对例如orderId表示我将需要在订单对象架构和订单列表架构中对其进行更改。
{
"type": "array",
"$schema": "http://json-schema.org/draft-04/schema",
"properties": {
"orderId": {
"type": "string",
"maxLength": 255
},
"comments": {
"type": "string",
"maxLength": 255
}
},
"required": [
"orderId"
]
}
感谢您的帮助。
答案 0 :(得分:0)
只需在OrderList模式中将“属性”更改为“项目”即可。另外,请在同一文件夹中引用文件名,或在其他位置插入文件的完整路径。请参见下面的代码:
{
"type": "array",
"$schema": "http://json-schema.org/draft-04/schema",
"items": {
"$ref": "order.schema.json"
}
}
[]的