在实际的项目过程中,会自定义一个AbstractHttpMessageConverter作为包装去统一处理返回结果:
{
"success":true,
"content":{
........
}
}
所以在处理的过程中,属于swagger的api的json也会被包装到这个自定义结果中,导致swagger去解析这个json的时候解析失败。
所以需要修改swagger-ui的代码,以便去处理自定义的数据格式。
- 将github上的swagger-ui的项目clone下来
- 打开 src/core/plugins/spec/action.js
- 修改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;