我有一个使用 Spring MVC 处理 REST 调用的应用程序,控制器是 REST 控制器并使用 注释@RestController
,控制器及其方法使用 注释@RequestMapping
。
我正在尝试添加 Swagger 来为现有的 REST 服务生成文档。我正在尝试将其添加为一个测试,以查看它的外观。我已经添加了springfox
和ui
库,向spring context xml
文件中添加了 swagger 配置类和 bean 定义。我可以点击swagger-ui.html
链接,但它根本没有生成任何文档。由于文档稀少,我不知道我做错了什么或配置错误,并且谷歌搜索该问题不会产生任何有用的信息。
谁能提供一些关于我可能做错了什么的建议,或者提供一些比我迄今为止发现的更好的文档?
我在我的 pom 文件中添加了 springfox-swagger2 和相关的 ui 条目,在我的 spring 文件中添加了这个:以及这些类的两个新 bean 定义:
@Configuration
@EnableSwagger2
public class ApplicationSwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
}
@EnableWebMvc
public class SwaggerConfiguration 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/");
}
}
我已经尝试在我的 spring xml 中定义第二类中的 bean,但这也不起作用。我难住了。我已经完成了文档所说的操作,但它不起作用。有任何想法吗?