0%

swagger-ui

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

1
2
3
4
5
6
{
"success":true,
"content":{
........
}
}

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

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

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

    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;