Swagger-ui中的参数排序

问题描述 投票:1回答:1

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

我已经彻底搜索了一种设置参数在UI上显示的顺序的方法,但我还没有找到任何东西(我预计很多人会有同样的问题)。

有没有办法设置参数的顺序?

python flask swagger-ui flask-restplus
1个回答
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;
  }
})
© www.soinside.com 2019 - 2024. All rights reserved.