swagger-api / swagger-api/swagger-ui

Array of enums doesn't allow you to specify order or duplicate entries

Open
#1,515 9 comments 8 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

cat: try-it-out P3 type: feature version: 3.x
Dominant language
JavaScript
Stars
29k
Forks
9.3k
Avg merge
2d 23h
Merged PRs (30d)
25

Description

If I have an array of enums in a parameter, e.g.:

parameters": [
    {
        "name" : "test",
        "in" : "query",
        "type": "array",
        "collectionFormat": "csv",
        "items": {
            "type": "string",
            "enum": [ "a", "b", "c" ]
        }
    }
]

swagger-ui 2.1.1 will show a multi-select box. This is nice if the order of the array doesn't matter. But if you need to specify the order, it won't work.

Not sure what the best interface is here, unless you want to have multiple single-select menus with add/remove buttons.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the array-of-enums behavior in Swagger UI 2.1.1 using the query parameter example and its current multi-select control. Review the control's handling of enum arrays, then determine an interface that permits both explicit ordering and duplicate entries. Done means users can submit an ordered array containing repeated enum values.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.