Spring MVC Swagger 问题

Spring MVC Swagger issue

我正在使用 Spring MVC + Swagger 版本 1.0.2 集成。我面临在 REST 文档 API 上看到重复项 API 的问题。不知道为什么?

但是我调试了这个问题,我按照 link https://dzone.com/articles/documenting-your-spring-api and A 'simple' way to implement Swagger in a Spring MVC application,按照这个 link 我添加了以下代码

@Configuration
@EnableSwagger
public class SwaggerConfig {
    private SpringSwaggerConfig springSwaggerConfig;

    @Autowired
    public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig) {
        this.springSwaggerConfig = springSwaggerConfig;
    }

    @Bean
    // Don't forget the @Bean annotation
    public SwaggerSpringMvcPlugin customImplementation() {
        return new SwaggerSpringMvcPlugin(this.springSwaggerConfig).apiInfo(
                apiInfo()).includePatterns(".*");
    }

    private ApiInfo apiInfo() {
        return new ApiInfo("API", "API",
                null, "test@yahoo.com",
                "License", "http://test.license");
    }
}

但是当我添加时,从那时起我看到相同的 API 被加载两次,如下所示

Mapped "{[/api/student],methods=[POST],produces=[application/json]}" onto public org.springframework.http.ResponseEntity<java.lang.String> com.test.StudentController.getStudentDetails(com.test.model.StudentDetails) throws java.lang.Exception
Mapped "{[/api/student],methods=[POST],produces=[application/json]}" onto public org.springframework.http.ResponseEntity<java.lang.String> com.test.StudentController.getStudentDetails(com.test.model.StudentDetails) 

throws java.lang.Exception
..................

如何防止两次加载 bean?

我能够解决这个问题。该问题与您的 applicationContext.xmlmvc-rest.xml 等无关,您的应用程序代码根本不应该使用 @EnableSpring,然后它起作用了。即使这个 link https://github.com/springfox/springfox/issues/565#issuecomment-172956702 也暗示相同。