如何验证 RAML 中的数字范围“半开区间”
我定义了一个 raml 文件。
我想要验证大于 0 且小于或等于 1 的查询参数(系数)。
(0<系数≤1)
这是我的raml。
#%RAML 1.0
title: sample API
baseUri: http://localhost:8081/api
version: 1.0
/inventory:
get:
coefficient:
type: number
minimum: 0
maximum: 1
我使用最小值和最大值,但这将使 0 成为可能。 如何将验证设置为大于 0,但不等于 0。
有什么想法吗?
(由于某些原因,我必须使用数字类型。我知道使用字符串类型和正则表达式可以解决这个问题作为解决方法。)
I defined a raml file.
I want to valid a queryParameter(coefficient) that greater than 0 and less than or equal to 1.
(0< coefficient ≦ 1 )
Here is my raml.
#%RAML 1.0
title: sample API
baseUri: http://localhost:8081/api
version: 1.0
/inventory:
get:
coefficient:
type: number
minimum: 0
maximum: 1
I use the minimum and maximum but this will make 0 possible.
How can I set the validation to greater than 0, but not equal to 0.
Any ideas?
(For some reasons I have to use the number type.I know with type string and regex may solve this problem as a work around.)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
RAML 规范似乎没有明确定义范围,但在我看来,当前版本的规范(RAML 1.0)不具备区分半开区间和开区间的表达能力。
RAML 1.0 规范 只是说:
如果您想强制执行此验证,您将需要在 API 实现中实现它,而不是在其 RAML 定义中。
The RAML specification doesn't seem to define ranges clearly but it looks to me that the current version of the specification (RAML 1.0) doesn't has the expressive power to differentiate a half-open interval nor an open interval.
The RAML 1.0 specification just says:
If you want to enforce this validation you will need to implement it in the API implementation instead of its RAML definition.