对于带有变音符号的语言,在路径中允许正则表达式是非常有用的,例如对于葡萄牙语单词código
,同时允许codigo
和código
,例如:
/c(o|ó)digo_postal/{cp}:
get:
operationId: getPostalcodeInfo
summary: Detalhes sobre Código Postal (CP4 ou CP7)
parameters:
- in: path
name: cp
required: true
schema:
type: string
pattern: /^\d{4}(\p{Dash}?\d{3})?$/u
examples:
cp4:
value: '2495'
summary: Código Postal CP4
cp7:
value: '2495-300'
summary: Código Postal CP7
description: Código Postal
- $ref: '#/components/parameters/json'
responses:
'200':
description: Detalhes sobre Código Postal CP4 ou CP7
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/CP4'
- $ref: '#/components/schemas/CP7'
'404':
description: Código Postal não encontrado
content:
application/json:
schema:
type: string
字符串
但它在我的验证器上失败了。我读了specs,但他们没有提到任何东西。
1条答案
按热度按时间6tdlim6h1#
OpenAPI不支持路径中的正则表达式。
不过它确实支持引用,因此您可以将两个路径作为同一个Path Item的简单
$ref
条目,从而有效地实现您在这里建议的内容。我认为另一种选择是简单地使用一个经过消毒的字符串(我想我无论如何都会对路径这样做),但作为一个只说英语的人,我不知道这在上下文中是否有意义。