4

嗨,我正在使用 flasgger/swagger,但我想知道是否有可以按字母顺序对所有标签进行排序的功能?对,我不明白我的标签的顺序。它既不是字母也不是数字。样品订单是这样的

User
   - API GET
   - API POST
   - API PUT
   - API DELETE
Company
   - API GET
   - API POST
   - API PUT
   - API DELETE
Room
   - API GET
   - API POST
   - API PUT
   - API DELETE

所以基本上用户、公司和房间都是 Swagger 标签。我想把它安排在Company应该首先出现的位置,然后是Room然后是User。有没有办法在 swagger 2.0 中实现这一点

更新:我希望它在网络浏览器显示中进行排序。简而言之,我们如何查看所有这些标签的排序顺序

4

1 回答 1

0

对于每个对标签顺序有疑问的人,您可以使用 javascript 来完成(示例按字母升序排序,但您可以根据需要更改排序功能):

$(document).ready(function () {
    sort();
});

function sort() {
    ascending = true;
    var tbody = document.getElementById("resources");//ul
    var rows = tbody.childNodes;//li
    var unsorted = true;

    while (unsorted) {
        unsorted = false

        for (var r = 0; r < rows.length - 1; r++) {
            debugger;
            var row = rows[r];
            var nextRow = rows[r + 1];

            var value = row.getAttribute("id");
            var nextValue = nextRow.getAttribute("id");

            if (ascending ? value > nextValue : value < nextValue) {
                tbody.insertBefore(nextRow, row);
                unsorted = true;
            }
        }
    }
}

您应该注册此 JS,如下例所示(Web api / c# / .net)

config.EnableSwagger(c =>
            {
                ***
            })
            .EnableSwaggerUi(u =>  
                {                   
                    u.InjectJavaScript(typeof(Startup).Assembly, "yourNamespace.SwaggerExt.js");
                }
            );

JS 文件应该是嵌入式资源。

于 2018-03-02T07:57:26.550 回答