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.xml
或 mvc-rest.xml
等无关,您的应用程序代码根本不应该使用 @EnableSpring
,然后它起作用了。即使这个 link https://github.com/springfox/springfox/issues/565#issuecomment-172956702 也暗示相同。
我正在使用 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.xml
或 mvc-rest.xml
等无关,您的应用程序代码根本不应该使用 @EnableSpring
,然后它起作用了。即使这个 link https://github.com/springfox/springfox/issues/565#issuecomment-172956702 也暗示相同。