swagger-ui自定义解析

在实际的项目过程中,会自定义一个AbstractHttpMessageConverter作为包装去统一处理返回结果:

{
    "success":true,
    "content":{
        ........
    }
}

所以在处理的过程中,属于swagger的api的json也会被包装到这个自定义结果中,导致swagger去解析这个json的时候解析失败。

所以需要修改swagger-ui的代码,以便去处理自定义的数据格式。

  1. 将github上的swagger-ui的项目clone下来
  2. 打开 src/core/plugins/spec/action.js
  3. 修改resolveSpec这个方法

export const resolveSpec = (json, url) => ({specActions, specSelectors, errActions, fn: { fetch, resolve, AST }, getConfigs}) => {
  const { modelPropertyMacro, parameterMacro } = getConfigs()
  console.log("json++++++++",json.content)
  // 将解析完之后的json内容赋值给json变量
  json = json.content;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容