项目使用了swagger文档,更新之后突然发现swagger文档页面打不开了 页面展示如下
在网上找了很多途径解决问题,但是不符合我项目的情况,我的解决方式就是分两步:
1,缩小出问题的模块范围
2,对比不出问题的情况的区别
因为有时候日志也是容易让人误导的,比如这次的情况日报报错是这样的:
Controller: org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController
Method : errorHtml
Params :
URI : /joyfarming/back/error
差点被误导去找BasicErrorController去了。
经过对比之后发现我的项目里新增一个配置类,这个配置类导致的问题,
@Configuration
@EnableWebMvc
@EnableAspectJAutoProxy
@EnableScheduling
@ComponentScan(basePackages = "com.jiangcz.joyfarming.back")
public class ApplicationConfig implements WebMvcConfigurer {
@Bean
public Validator validator() {
ValidatorFactory validatorFactory = Validation.byProvider(HibernateValidator.class)
.configure()
.failFast(true)
.buildValidatorFactory();
return validatorFactory.getValidator();
}
@Bean
public MethodValidationPostProcessor methodValidationPostProcessor() {
MethodValidationPostProcessor methodValidationPostProcessor = new MethodValidationPostProcessor();
methodValidationPostProcessor.setValidator(validator());
return methodValidationPostProcessor;
}
}
这个类是用来配置hibernate validator校验方式的 居然导致项目的swagger文档不能访问。