【发布时间】:2019-05-16 06:42:25
【问题描述】:
我有一个 spring 4 项目,其中 springfox-swagger2 2.8.o 生成了 swagger 2 规范。为了使用这个规范,我在前端应用程序中使用了 swagger-ui 3.22.1。目前 swagger-ui 正在显示规范中的所有端点,我怎样才能在 swagger-ui 中只显示特定端点?有没有办法过滤特定路径的规范?或者我们可以动态获取 springfox-swagger2/swagger-ui 中特定路径/端点的规范吗?
我已尝试获取规范并在前端过滤该特定端点的 json。例如,仅从路径对象中提取“/my-endpoint”,并仅提取与“/my-endpoint”相关的标签,然后根据提取的路径和标签创建新的 json,它确实部分解决了问题,但模型对象有所有路径的模型,无论何时我必须显示特定端点的文档,我都必须从服务器获取整个规范。
const { paths, tags } = swagger2JsonData;
const { ['/my-endpoint']: path } = paths;
const specifiedEndpointData= { '/my-endpoint': { ...path } };
const specifiedEndpointTag= tags.filter(x => x.name === 'my-endpoint-controller-tag');
const newData = { ...swagger2JsonData, paths: specifiedEndpointData, tags: specifiedEndpointTag};
SwaggerUI({
spec: newData,
dom_id: '#swagger-ui-container',
presets: [SwaggerUI.presets.apis]
});
【问题讨论】:
-
你找到解决方案了吗?
标签: javascript java swagger-ui swagger-2.0 springfox