Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot Spring Boot招摇过市:如何忽略某些API';基于弹簧轮廓的斯威格?_Spring Boot_Swagger_Spring Restcontroller_Springfox_Spring Restdocs - Fatal编程技术网

Spring boot Spring Boot招摇过市:如何忽略某些API';基于弹簧轮廓的斯威格?

Spring boot Spring Boot招摇过市:如何忽略某些API';基于弹簧轮廓的斯威格?,spring-boot,swagger,spring-restcontroller,springfox,spring-restdocs,Spring Boot,Swagger,Spring Restcontroller,Springfox,Spring Restdocs,目前,在我的控制器类中有一些私有API,我需要在我的生产环境中忽略它们,而在QA和Dev环境中则需要它们 我正在使用SpringFox的@ApiIgnore注释在全球范围内实现这一点。有没有一种方法可以基于spring boot环境变量执行此注释 或任何其他解决方案来解决此问题?您可以使用 @Autowired private Environment environment; .... this.environment.getActiveProfiles(); 获取当前配置文件,然后根据活动

目前,在我的控制器类中有一些私有API,我需要在我的生产环境中忽略它们,而在QA和Dev环境中则需要它们

我正在使用SpringFox的@ApiIgnore注释在全球范围内实现这一点。有没有一种方法可以基于spring boot环境变量执行此注释

或任何其他解决方案来解决此问题?

您可以使用

@Autowired private Environment environment; 
....
this.environment.getActiveProfiles();

获取当前配置文件,然后根据活动配置文件在您的swagger配置类中创建
Docket
对象。

谢谢,它成功了。如果(Arrays.stream(env.getActiveProfiles()).anyMatch(e->(e.equalsIgnoreCase(“dev”)){requestHandlerSelector=and(not(withClassAnnotation(apignore.class)),not(withMethodAnnotation(apignore.class));}或者{requestHandlerSelector=any();}@AnandKuklkarni你能看看这个问题吗: