Case Insensitive String parameter in schema of openApi
SOLVED- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Case Insensitive String parameter in schema of openApi
I have an open API spec with a parameter like this:
- name: platform in: query description: "Platform of the application" required: true schema: type: string enum: - "desktop" - "online"
when I get the "platform" parameter from URL , it can be like this :
platform=online or platform=ONLINE or platform=Online or platform=onLine or ... any other format
but when I am going to use it , it is only valid if the parameter is all lower case like "platform=online", obviously to match the enum value.
how can I make schema to be the case insensitive and understand all types of passed parameters?
Solved! Go to Solution.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please see if the below is helpful:
https://stackoverflow.com/questions/28332924/case-insensitive-matching-of-a-string-to-a-java-enum
Regards,
Rao.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Here's a copy of my answer to the same question on Stack Overflow:
Enums are case-sensitive. To have a case-insensitive schema, you can use a regular expression pattern
instead:
- 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]$'
Note that pattern
is the pattern itself and does not support JavaScript regex literal syntax (/abc/i
), which means you cannot specify flags like i
(case insensitive search). As a result you need to specify both uppercase and lowercase letters in the pattern itself.
Alternatively, specify the possible values in the description
rather than in pattern
/enum
, and verify the parameter values on the back end.
Helen Kosova
SmartBear Documentation Team Lead
________________________
Did my reply answer your question? Give Kudos or Accept it as a Solution to help others. ⬇️⬇️⬇️
