Skip to content

Commit 7a4d09e

Browse files
committed
Annotation @hidden on rest controller class level doesn't work due to spring default proxying mechanism CGLIB. Fxies #2709
1 parent 829e4b6 commit 7a4d09e

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

Diff for: springdoc-openapi-starter-common/src/main/java/org/springdoc/api/AbstractOpenApiResource.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@
113113
import org.springframework.core.annotation.AnnotationUtils;
114114
import org.springframework.core.env.Environment;
115115
import org.springframework.util.AntPathMatcher;
116+
import org.springframework.util.ClassUtils;
116117
import org.springframework.util.CollectionUtils;
117118
import org.springframework.web.bind.annotation.RequestBody;
118119
import org.springframework.web.bind.annotation.RequestMapping;
@@ -306,7 +307,7 @@ public static boolean containsResponseBody(HandlerMethod handlerMethod) {
306307
* @return the boolean
307308
*/
308309
public static boolean isHiddenRestControllers(Class<?> rawClass) {
309-
return HIDDEN_REST_CONTROLLERS.stream().anyMatch(clazz -> clazz.isAssignableFrom(rawClass));
310+
return HIDDEN_REST_CONTROLLERS.stream().anyMatch(clazz -> ClassUtils.getUserClass(clazz).isAssignableFrom(rawClass));
310311
}
311312

312313
/**
@@ -938,7 +939,7 @@ protected String decode(String requestURI) {
938939
* @return the boolean
939940
*/
940941
protected boolean isAdditionalRestController(Class<?> rawClass) {
941-
return ADDITIONAL_REST_CONTROLLERS.stream().anyMatch(clazz -> clazz.isAssignableFrom(rawClass));
942+
return ADDITIONAL_REST_CONTROLLERS.stream().anyMatch(clazz -> ClassUtils.getUserClass(clazz).isAssignableFrom(rawClass));
942943
}
943944

944945
/**

Diff for: springdoc-openapi-starter-common/src/main/java/org/springdoc/core/configuration/SpringDocJacksonKotlinModuleConfiguration.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
@ConditionalOnExpression("${springdoc.api-docs.enabled:true} and ${springdoc.enable-kotlin:true}")
2525
@ConditionalOnWebApplication
2626
@ConditionalOnBean(SpringDocConfiguration.class)
27-
class SpringDocJacksonKotlinModuleConfiguration {
27+
public class SpringDocJacksonKotlinModuleConfiguration {
2828

2929
/**
3030
* Instantiates a new objectMapperProvider with a kotlin module.

0 commit comments

Comments
 (0)