我试图将springfox集成到我现有的sprint web应用程序中我配置了springfox,web应用程序正在启动,但api doc没有生成
这是springfox配置类
@EnableSwagger2 //Loads the spring beans required by the framework
public class SwaggerConfig {
@Bean
public Docket swaggerSpringMvcPlugin() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.paths(PathSelectors.any())
.build()
.apiInfo(apiInfo());
}
}
这是bean创建
<bean id="config" class="com.myApp.general.SwaggerConfig"/>
以下是控制器
@Controller
public class MyController {
@ApiOperation(value = "Gets architecture services",
notes = "",
produces = "application/json")
@RequestMapping(value = "v1/users", method = RequestMethod.GET)
@ResponseBody
public Object users(HttpServletResponse response) {
//method implementation
}
}
当我尝试获取api文档时,它只返回404.有人可以帮助我吗
答案 0 :(得分:0)
这可能是一个迟到的答案..但应该帮助人们仍然寻找/搜索
无论如何,以下答案应该有效。 对于html,需要ui.html处理程序 对于其他人来说,需要webjars / **
uri.startsWith("/swagger")|| uri.startsWith("/webjars")||uri.startsWith("/v2/api-docs");
如果您有特定于访问权限的网址的过滤器链,请务必省略与上述代码类似的任何过滤器链接
@Component
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应用程序可以查看swagger-ui文件的文件夹。 如果你已经有一个资源处理程序..忘记在那里包含这些。在这种情况下,不需要编写特殊的资源处理程序