如何在JAX-RS项目的Swagger UI中启用接口响应时长显示功能
Swagger UI 3.x及以上版本原生支持接口响应时长显示能力,默认处于关闭状态,不需要修改JAX-RS接口逻辑,仅需调整Swagger UI的初始化配置即可开启,不同集成场景的操作方式如下:
1. 独立部署Swagger UI(直接使用官方dist包)
找到部署目录下的swagger-initializer.js或index.html文件,在SwaggerUIBundle初始化参数中添加displayRequestDuration: true配置即可,示例代码如下:
window.ui = SwaggerUIBundle({ url: "/openapi.json", // 替换为你的OpenAPI描述文件地址 dom_id: '#swagger-ui', // 新增以下配置开启响应时长显示 displayRequestDuration: true, deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset ], layout: "StandaloneLayout" })
2. 通过Java依赖集成Swagger UI
JAX-RS生态常用的Swagger UI集成组件都提供了配置入口,直接添加对应配置项即可:
- 若使用SmallRye OpenAPI(Quarkus、WildFly等实现的默认集成组件):在
application.properties中添加配置quarkus.swagger-ui.display-request-duration=true - 若使用SpringFox适配JAX-RS场景:在配置文件中添加配置
springfox.swagger-ui.display-request-duration=true
3. 自定义封装Swagger UI的场景
如果你是自行封装Swagger UI初始化逻辑,直接在初始化参数中加入displayRequestDuration: true即可生效。
配置完成后重启服务,调用接口时就会在响应状态码旁显示请求总耗时,单位为毫秒。
内容的提问来源于stack exchange,提问作者Shajitha Begum K
相关产品推荐
相关产品推荐

