我有一个 Spring Rest 控制器和它的 NOT spring boot 应用程序。它只是一个 REST API 项目。我想将 swagger2 集成到我的项目中。我尝试了 Net 和演示中的所有示例,但没有运气。当我尝试执行http://localhost:8085/context/swagger-ui.html时出现 404 错误。请在下面找到我的配置,如果有任何差异,请告诉我。非常感谢任何帮助。
罐子 - 在 /WEB-INF/lib 下
google-collections-1.0.jar springfox-core-2.2.2.jar springfox-schema-2.2.2.jar springfox-spi-2.2.2.jar springfox-spring-web-2.2.2.jar springfox-staticdocs-2.2 .2.jar springfox-swagger-common-2.2.2.jar springfox-swagger-ui-2.2.2.jar springfox-swagger2-2.2.2.jar
我的招摇配置类-
@EnableSwagger2
public class SwaggerConfiguration {
}
我的springconfig类
@EnableWebMvc
@ComponentScan(basePackageClasses = controller.class)
@Import(SwaggerConfiguration.class)
public class SpringConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
根据 springfox-java demo 下面的我的应用程序初始化程序类。我尝试使用和不使用以下课程,但无论哪种方式都不起作用。
Application Initializer class
public class ApplicationInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return null;
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{controller.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/*"};
}
}
我可以在相同的上下文中访问我的其余网址,但不能访问 swagger-ui.html。
请让我知道我在这里缺少什么?