swagger - 在 Swagger UI 中拦截消息
问题描述
我正在尝试使用以下代码在 Swagger 中拦截响应消息:
var full = location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '');
var ui = SwaggerUIBundle({
url: full + "/swagger/v2/swagger.json",
responseInterceptor: function (resp) {
console.log('#response');
return resp;
},
onComplete: function () {
console.log('#onComplete');
}
});
问题是响应拦截器只被调用一次(对于https://localhost:5001/swagger/v2/swagger.json文件)并且它不会被任何 API 消息调用。
是否可以拦截所有招摇的 API 消息?
根据这篇文章,它应该是可能的:https ://stackoverflow.com/a/46892528/1882699 ,但由于某种原因这对我不起作用。
解决方案
这个 Swagger UI 的配置对我有用,在这篇文章中。
不同之处在于这一行:
dom_id: '#swagger-ui',
当使用此行时,拦截器会拦截每条消息。如果没有这条线,拦截器只会捕获第一条消息。
推荐阅读
- symfony - Symfony 5+ 嵌套表单集合渲染
- microsoft-graph-api - Microsoft Graph - 将 Excel (xlsx) 转换为 PDF 时出现数字和日期格式的问题
- python - KMeans 聚类不适用于超过 4 列的数据框
- android - onCharacteristicChanged 没有被击中。安卓低功耗蓝牙
- angular - 仅限 Cognito 身份验证用户的 S3 访问
- jquery - Django 删除函数出现错误(字段 id 需要一个数字但得到了)
- sql - 将表变量中的值分配给表的每一行?
- javascript - JS调用多个存储函数,从this开始
- python - 用于单元测试的python中的模拟流API
- dotnetnuke - 如何从 2sxc 模块中的另一个门户访问某些实体关联文件?