在 mule 4.4 中实现的 openapi 3.0 不强制执行路径参数
openapi 3.0 implemented in mule 4.4 not enforcing path parameter
我正在使用 open api 3.0。我正在设计一个具有路径参数的端点:
在 mule 4.4
中实现规范
paths:
/comps/{compId}/emps/{empId}:
get:
parameters:
- name: compId
in: path
required: true
schema:
type: string
minLength: 1
- name: empId
in: path
required: true
schema:
type: string
minLength: 1
但是,如果我提出以下请求,(请注意 'compId' 是带有 space 的空字符串)
它没有得到验证?
我确信这应该可以在 openapi 中强制执行 not null not empty string ?
http://localhost:8081/v2/comps/ /emps/123
我认为您的期望是不正确的。空字符串 ("") 和包含 space (" ") 的字符串是两种不同的东西。在大多数编程语言中,包含单个 space 的字符串将被视为长度为 1.
的完全有效字符串
如果您想添加验证以避免出现这种情况,您可以对字符串使用 pattern
属性 并声明一个正则表达式来验证有效的字符串。例如:"pattern": "^[A-Za-z0-9]+$"
.
我正在使用 open api 3.0。我正在设计一个具有路径参数的端点: 在 mule 4.4
中实现规范paths:
/comps/{compId}/emps/{empId}:
get:
parameters:
- name: compId
in: path
required: true
schema:
type: string
minLength: 1
- name: empId
in: path
required: true
schema:
type: string
minLength: 1
但是,如果我提出以下请求,(请注意 'compId' 是带有 space 的空字符串) 它没有得到验证? 我确信这应该可以在 openapi 中强制执行 not null not empty string ?
http://localhost:8081/v2/comps/ /emps/123
我认为您的期望是不正确的。空字符串 ("") 和包含 space (" ") 的字符串是两种不同的东西。在大多数编程语言中,包含单个 space 的字符串将被视为长度为 1.
的完全有效字符串如果您想添加验证以避免出现这种情况,您可以对字符串使用 pattern
属性 并声明一个正则表达式来验证有效的字符串。例如:"pattern": "^[A-Za-z0-9]+$"
.