隐藏Swagger中的Feign客户端端点

时间:2017-11-15 14:06:03

标签: spring spring-boot swagger netflix-feign

我正在使用Springboot自动配置,目前我所有的Feign端点都以swagger-ui暴露。如何禁用此功能?

3 个答案:

答案 0 :(得分:0)

您可以在application.properties中将其设置为:

endpoints.enabled=false
endpoints.health.enabled=true
endpoints.loggers.enabled=true

在你的情况下,它会像

endpoints.feign.***=true

但这并不是因为招摇,而是终点暴露自己。对于Swagger,您必须使用@Api#hidden()明确标记它们。

答案 1 :(得分:0)

到目前为止,不包含不相关端点的最佳方法是通过Swagger Docker,例如。

@Configuration
@EnableSwagger2
class SwaggerConf {
  @Bean
  Docket allApis() {
    return new Docket(DocumentationType.SWAGGER_2)
      .groupName("all")
      .select().apis(RequestHandlerSelectors.basePackage("com.example.base"))
      .build();
  }
}

答案 2 :(得分:0)

对我有用的最简单的解决方案是将 @ApiIgnore 添加到 Feign 客户端

@ApiIgnore    
@FeignClient()
public interface FeignApi {
}