frdsprtrdr:
私はこのようなパラメータを使用して、オープンAPIの仕様があります。
- name: platform
in: query
description: "Platform of the application"
required: true
schema:
type: string
enum:
- "desktop"
- "online"
私はURLから「プラットフォーム」のパラメータを取得するとき、それはこのようなことができます:
platform=online or
platform=ONLINE or
platform=Online or
platform=onLine or ... any other format
私はそれを使用するつもりだときのパラメータのようなすべて小文字である場合は、それが唯一の有効な「オンラインプラットフォームは=」列挙型の値と一致することは明らかに、。
どのように私は、スキーマはケース依存しないようにし、渡されたパラメータのすべてのタイプを理解することができますか?
ヘレン :
列挙型は、大文字と小文字が区別されます。大文字と小文字を区別しないスキーマを持っているために、あなたは正規表現を使用することができますpattern
代わりに:
- name: platform
in: query
description: 'Platform of the application. Possible values: `desktop` or `online` (case-insensitive)'
required: true
schema:
type: string
pattern: '^[Dd][Ee][Ss][Kk][Tt][Oo][Pp]|[Oo][Nn][Ll][Ii][Nn][Ee]$'
注pattern
パターンそのものであるとJavaScript正規表現リテラル構文(サポートしていません/abc/i
)、を意味しているユーザーが指定することはできません旗のようなi
(大文字小文字を区別しない検索を)。その結果、あなたはパターンそのものでは大文字と小文字の両方を指定する必要があります。
代替的に、で可能な値を指定するdescription
よりもむしろにpattern
/ enum
、およびバックエンドにパラメータ値を検証します。