Ale*_*lex 5 java rest spring-mvc swagger springfox
我有一个使用Spring MVC来处理REST调用的应用程序,控制器是REST控制器并注释@RestController,并且控制器及其方法都带有注释@RequestMapping.
我正在尝试添加Swagger来生成现有REST服务的文档.我试图将它添加为一个作为测试,看看它是什么样的.我添加了springfox和ui库,为spring context xml文件添加了swagger配置类和bean定义.我可以点击swagger-ui.html链接,但它根本没有生成任何文档.由于文档稀疏,我不知道我做错了什么或配置错误,谷歌搜索问题并没有产生任何有用的东西.
任何人都可以提供一些关于我可能做错了什么的建议,或者一些比我迄今为止发现的更好的文档吗?
我将springfox-swagger2和相关的ui条目添加到我的pom文件中,将其添加到我的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/");
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试在我的spring xml中定义第二类中的bean,但这也不起作用.我很难过.我已经完成了文档说要做的事情,而且它没有用.有任何想法吗?
springfox 文档可在此处获取。从您的帖子看来您可能需要执行以下操作
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addRedirectViewController("/documentation/v2/api-docs", "/v2/api-docs?group=restful-api");
registry.addRedirectViewController("/documentation/swagger-resources/configuration/ui","/swagger-resources/configuration/ui");
registry.addRedirectViewController("/documentation/swagger-resources/configuration/security","/swagger-resources/configuration/security");
registry.addRedirectViewController("/documentation/swagger-resources", "/swagger-resources");
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry
.addResourceHandler("/documentation/swagger-ui.html**")
.addResourceLocations("classpath:/META-INF/resources/swagger-ui.html");
registry
.addResourceHandler("/documentation/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}
Run Code Online (Sandbox Code Playgroud)
注意:如果您有 Spring Boot 应用程序,则不需要此操作。
http(s)://your-host/context-path/v2/api-docs| 归档时间: |
|
| 查看次数: |
1267 次 |
| 最近记录: |