小编m_g*_*een的帖子

有没有办法在 swagger-ui 3.* 中仅渲染特定的 api 端点?

我有一个 springfox-swagger2 2.8.o 的 spring 4 项目,生成 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]
});
Run Code Online (Sandbox Code Playgroud)

javascript java swagger-ui swagger-2.0 springfox

5
推荐指数
1
解决办法
3169
查看次数

标签 统计

java ×1

javascript ×1

springfox ×1

swagger-2.0 ×1

swagger-ui ×1