在 Swagger-UI 中对 API 方法进行排序
我找不到任何工作示例,如何实现以下目标:我希望我在Swagger-UI中的API方法按方法(GET-POST-PUT-DELETE)或/和字母顺序排序。
到目前为止,所有方法都以随机顺序显示,甚至不按给定源代码的顺序显示。
我使用 Jax-RS + Jersey 1。
使用@ApiOperation的位置属性进行排序对我来说不是一个选择,因为方法太多了,API仍在扩展,所以如果有新的方法,我需要更新所有内容。
任何提示?
我找不到任何工作示例,如何实现以下目标:我希望我在Swagger-UI中的API方法按方法(GET-POST-PUT-DELETE)或/和字母顺序排序。
到目前为止,所有方法都以随机顺序显示,甚至不按给定源代码的顺序显示。
我使用 Jax-RS + Jersey 1。
使用@ApiOperation的位置属性进行排序对我来说不是一个选择,因为方法太多了,API仍在扩展,所以如果有新的方法,我需要更新所有内容。
任何提示?
Swagger UI 2.1.0+ 的更新:该参数已拆分为两个参数,如 Fix 1040、 Fix 1280 中所述:sorter
apisSorter
将排序应用于 API/标记列表。它可以是'alpha'(按名称排序)或函数(请参阅Array.prototype.sort()以了解排序函数的工作原理)。默认值为服务器返回的订单不变。
操作排序器
对每个 API 的操作列表应用排序。它可以是'alpha'(按路径字母数字排序),'method'(按HTTP方法排序)或函数(请参阅Array.prototype.sort()以了解排序函数的工作原理)。默认值为服务器返回的订单不变。
因此,您需要更新以按字母顺序对 API 列表进行排序,和/或对每个 API 的操作列表进行排序。宠物店演示已更新为 apisSorter,如下所示:sorter
apisSorter
operationsSorter
window.swaggerUi = new SwaggerUi({
...
apisSorter : "alpha"
});
对于早于 2.1.0 的 Swagger UI 版本:
该参数仍然与旧版本的 Swagger UI 相关:sorter
您可以在实例化 SwaggerUi 时使用 sorter 参数。这发生在Swagger-Ui索引上的javascript中.html。从文档中:
排序器将排序应用于 API 列表。它可以是“alpha”(字母数字排序路径)或“方法”(按HTTP方法排序操作)。默认值为服务器返回的订单不变。
示例:
window.swaggerUi = new SwaggerUi({
...
sorter : "alpha"
});
接受的答案有点过时了。在较新版本中,它由以下人员完成:
window.swaggerUi = new SwaggerUi({
...
apisSorter: "alpha", // can also be a function
operationsSorter : "method", // can also be 'alpha' or a function
});