Swagger-ui中的参数排序

时间:2019-04-02 12:36:00

标签: python flask swagger-ui flask-restplus

我正在使用Flask和Flask-restplus构建带有醒目的UI的API。 路线似乎按字母顺序显示,但是对于这些路线的参数,它们似乎以完全随机的顺序显示,每次我重新构建项目时都会更改。

我已经在彻底寻找一种方法来设置参数在UI上的显示顺序,但是我什么都没找到(我希望很多人会遇到同样的问题)。

是否无法设置参数的顺序?

1 个答案:

答案 0 :(得分:0)

您需要使用operationsSorter并编写一个自定义排序功能。这是一个示例:

// 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;
  }
})