Упорядочение параметров в Swagger-UI - PullRequest
1 голос
/ 02 апреля 2019

Я использую Flask и Flask-restplus для создания API с отличным пользовательским интерфейсом. Кажется, что маршруты отображаются в алфавитном порядке, но что касается параметров этих маршрутов, они отображаются в совершенно случайном порядке, который меняется каждый раз, когда я перестраиваю свой проект.

Я тщательно искал способ задания порядка отображения параметров в пользовательском интерфейсе, но я ничего не нашел вообще (ожидал, что у многих людей будет такой же вопрос).

Нет ли способа установить порядок параметров?

1 Ответ

0 голосов
/ 09 апреля 2019

Вам нужно использовать Оператор сортировки и написать пользовательскую функцию сортировки. Вот пример:

// dist/index.html

const ui = SwaggerUIBundle({
url: "http://petstore.swagger.io/v2/swagger.json",
...

operationsSorter: (a, b) => {

        var methodsOrder = ["get", "post", "put", "delete", "patch", "options", "trace"];

        var result = methodsOrder.indexOf( a.get("method") ) - methodsOrder.indexOf( b.get("method") );
      // Or if you want to sort the methods alphabetically (delete, get, head, 
      options, 
      ...):
     // var result = a.get("method").localeCompare(b.get("method"));

      if (result === 0) {
       result = a.get("path").localeCompare(b.get("path"));
      }

   return result;
  }
})
...