解决:
@Configuration
public class SwaggerConfig {
@Autowired
private TypeResolver typeResolver;
@Bean
public Docket controllerApi() {
// ParameterBuilder ticketPar = new ParameterBuilder();
// List<Parameter> pars = new ArrayList<>();
// ticketPar.name("token").description("token")
// .modelRef(new ModelRef("string")).parameterType("header")
// .required(false).build(); //header中的token参数非必填,传空也可以
// pars.add(ticketPar.build()); //根据每个方法名也知道当前方法在设置什么参数
return new Docket(DocumentationType.SWAGGER_2)
.alternateTypeRules(//解决返回对象为Map<String, List<VersionPushStatisticResp>>时,Swagger页面报错
AlternateTypeRules.newRule(
typeResolver.resolve(Map.class, String.class, typeResolver.resolve(List.class, VersionPushStatisticResp.class)),
typeResolver.resolve(Map.class, String.class, WildcardType.class), Ordered.HIGHEST_PRECEDENCE),
)
.select()
.apis(RequestHandlerSelectors.basePackage("com.ltjh.adc.controller"))
.paths(PathSelectors.any())
.build()
// .globalOperationParameters(pars)
.apiInfo(new ApiInfoBuilder()
.title("接口文档")
.description("项目名")
.version("1.0.0")
.build());
}
}
没错,重点就是加上alternateTypeRules进行解析。
关注公众号获取更多内容,有问题也可在公众号提问哦:
强哥叨逼叨
叨逼叨编程、互联网的见解和新鲜事
版权声明:本文为seanxwq原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。