Swagger UI 2.1.0+更新: sorter
参数已拆分为两个参数,如Fix 1040,Fix 1280:]中所述。
apisSorter
对API /标签列表应用排序。可以是“ alpha”(按名称排序)或函数(请参阅Array.prototype.sort()了解如何排序功能有效)。默认是服务器返回的顺序不变。
operationsSorter
对每个API的操作列表进行排序。它可以是“字母”(按字母数字顺序按路径排序),“方法”(按字母顺序排序)HTTP方法)或函数(请参阅Array.prototype.sort()了解如何排序功能有效)。默认是服务器返回的顺序不变。
因此,您需要将sorter
更新为apisSorter
以按字母顺序对API列表进行排序,和/或将operationsSorter
更新为以每个API的操作列表进行排序。宠物店演示已更新为apisSorter,如下所示:
[Example:(working demo,按字母顺序排序]
window.swaggerUi = new SwaggerUi({
...
apisSorter : "alpha"
});
对于Swagger UI版本低于2.1.0
:
sorter
参数仍然与旧版本的Swagger UI相关:
您可以在实例化SwaggerUi时使用sorter
参数。这发生在Swagger-Ui index.html上的javascript中。从
documentation:
分类器对API列表进行分类。它可以是“ ”(排序路径字母数字)或“ 方法
”(通过HTTP方法进行排序操作)。默认是服务器返回的顺序不变。Example:window.swaggerUi = new SwaggerUi({
...
sorter : "alpha"
});
// I had the same issue and i fixed like this
window.swaggerUi = new SwaggerUi({
apisSorter: "alpha",
operationsSorter: function (a, b) {
var order = { 'get': '0', 'post': '1', 'put': '2', 'delete': '3' };
return order[a.method].localeCompare(order[b.method]);
},
});
接受的答案有点过时。在较新的版本中,它是通过:
window.swaggerUi = new SwaggerUi({
...
apisSorter: "alpha", // can also be a function
operationsSorter : "method", // can also be 'alpha' or a function
});
window.ui = SwaggerUIBundle({
...
operationsSorter: function (a, b) {
var order = {'get': '0', 'post': '1', 'put': '2', 'delete': '3'};
return order[a.get("method")].localeCompare(order[b.get("method")]);
},
...
});