在我的api中,我的类型包含uuid->Drive
的地图。我使用Map类型[1]来定义:
type: object
properties:
drives:
required: false
type: object
properties:
[(a-zA-Z0-9-)*] :
type: Drive
那项工作但我希望在模式上更精确。但是,我无法让它发挥作用。
["(a-zA-Z0-9){8}-(a-zA-Z0-9){4}-(a-zA-Z0-9){4}-(a-zA-Z0-9){4}-(a-zA-Z0-9){12}"]:
似乎没有用作正则表达式。[(a-zA-Z0-9){8}-(a-zA-Z0-9){4}-(a-zA-Z0-9){4}-(a-zA-Z0-9){4}-(a-zA-Z0-9){12}]:
说出流集合条目之间的错过逗号 如何在RAML 1.0的Map类型中使用复杂的探索?
(我正在使用API Workbench)
答案 0 :(得分:0)
使用patternProperties
代替替代语法我的RAML中没有任何错误。但是,似乎API Workbench没有验证任何内容。
答案 1 :(得分:0)
您需要使用以/ ^开头并以$ /
结尾的RegEx字符串。#%RAML 1.0
title: My API With Types
types:
Person:
properties:
name:
required: true
type: string
age:
required: false
type: number
/^note\d+$/: # restrict any properties whose keys start with "note"
# followed by a string of one or more digits
type: string
https://github.com/raml-org/raml-spec/blob/master/versions/raml-10/raml-10.md#additional-properties