0

我正在尝试将 springfox 集成到我现有的 sprint Web 应用程序中我配置了 springfox,Web 应用程序正在正确启动,但没有生成 api 文档

这是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。有人可以帮我解决这个问题吗

4

1 回答 1

0

这可能是一个迟到的答案..但应该可以帮助人们仍在寻找/搜索

无论如何,下面的答案应该有效。对于 html,需要 ui.html 处理程序,对于其他需要 webjars/**

uri.startsWith("/swagger")|| uri.startsWith("/webjars")||uri.startsWith("/v2/api-docs");

如果您有过滤器链来访问特定的 url,请务必省略与上述代码类似的任何过滤器检查

@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 文件。如果您已经有资源处理程序..不要忘记在其中包含这些。在这种情况下,无需编写特殊的资源处理程序

于 2016-07-14T15:01:45.323 回答