Skip to content

Commit 60ebd7d

Browse files
author
bnasslahsen
committed
project review
1 parent 4e846c3 commit 60ebd7d

File tree

5 files changed

+19
-8
lines changed

5 files changed

+19
-8
lines changed

springdoc-openapi-common/src/main/java/org/springdoc/api/AbstractOpenApiResource.java

+9
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ public abstract class AbstractOpenApiResource {
8383
private final SpringDocConfigProperties springDocConfigProperties;
8484

8585
private static final List<Class<?>> ADDITIONAL_REST_CONTROLLERS = new ArrayList<>();
86+
private static final List<Class<?>> HIDDEN_REST_CONTROLLERS = new ArrayList<>();
8687

8788
private boolean computeDone;
8889

@@ -113,6 +114,7 @@ protected synchronized OpenAPI getOpenApi() {
113114
.flatMap(mapEl -> mapEl.entrySet().stream())
114115
.filter(controller -> (AnnotationUtils.findAnnotation(controller.getValue().getClass(),
115116
Hidden.class) == null))
117+
.filter(controller -> !isHiddenRestControllers(controller.getValue().getClass()))
116118
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (a1, a2) -> a1));
117119

118120
Map<String, Object> findControllerAdvice = openAPIBuilder.getControllerAdviceMap();
@@ -358,6 +360,13 @@ public static void addRestControllers(Class<?>... classes) {
358360
ADDITIONAL_REST_CONTROLLERS.addAll(Arrays.asList(classes));
359361
}
360362

363+
public static void addHiddenRestControllers(Class<?>... classes) {
364+
HIDDEN_REST_CONTROLLERS.addAll(Arrays.asList(classes));
365+
}
366+
protected boolean isHiddenRestControllers(Class<?> rawClass) {
367+
return HIDDEN_REST_CONTROLLERS.stream().anyMatch(clazz -> clazz.isAssignableFrom(rawClass));
368+
}
369+
361370
protected Set getDefaultAllowedHttpMethods() {
362371
RequestMethod[] allowedRequestMethods = { RequestMethod.GET, RequestMethod.POST, RequestMethod.PUT, RequestMethod.PATCH, RequestMethod.DELETE, RequestMethod.OPTIONS, RequestMethod.HEAD };
363372
return new HashSet<>(Arrays.asList(allowedRequestMethods));

springdoc-openapi-common/src/main/java/org/springdoc/core/GenericParameterBuilder.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import java.lang.reflect.Type;
2626
import java.lang.reflect.WildcardType;
2727
import java.util.ArrayList;
28+
import java.util.Arrays;
2829
import java.util.HashMap;
2930
import java.util.List;
3031
import java.util.Map;
@@ -64,7 +65,6 @@ public class GenericParameterBuilder {
6465

6566
static {
6667
FILE_TYPES.add(MultipartFile.class);
67-
FILE_TYPES.add(FilePart.class);
6868
}
6969

7070
public GenericParameterBuilder(LocalVariableTableParameterNameDiscoverer localSpringDocParameterNameDiscoverer, IgnoredParameterAnnotations ignoredParameterAnnotations) {
@@ -373,4 +373,8 @@ private JavaType constructType(Type type) {
373373
public boolean isAnnotationToIgnore(java.lang.reflect.Parameter parameter) {
374374
return ignoredParameterAnnotations.isAnnotationToIgnore(parameter);
375375
}
376+
377+
public static void addFileType(Class<?>... classes) {
378+
FILE_TYPES.addAll(Arrays.asList(classes));
379+
}
376380
}

springdoc-openapi-common/src/main/java/org/springdoc/core/SwaggerUiConfigProperties.java

+1-6
Original file line numberDiff line numberDiff line change
@@ -433,17 +433,12 @@ public int hashCode() {
433433
}
434434
}
435435

436-
static enum Direction {
436+
enum Direction {
437437
ASC,
438438
DESC;
439-
440439
public boolean isAscending() {
441440
return this.equals(ASC);
442441
}
443-
444-
public boolean isDescending() {
445-
return this.equals(DESC);
446-
}
447442
}
448443

449444
public Direction getGroupsOrder() {

springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/app4/SpringDocApp4Test.java

-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
package test.org.springdoc.ui.app4;
2020

21-
import java.util.ArrayList;
2221
import java.util.HashSet;
2322

2423
import org.junit.jupiter.api.AfterEach;

springdoc-openapi-webflux-core/src/main/java/org/springdoc/core/RequestBuilder.java

+4
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,18 @@
2424
import org.springdoc.core.customizers.OperationCustomizer;
2525
import org.springdoc.core.customizers.ParameterCustomizer;
2626

27+
import org.springframework.http.codec.multipart.FilePart;
2728
import org.springframework.http.server.reactive.ServerHttpRequest;
2829
import org.springframework.http.server.reactive.ServerHttpResponse;
2930
import org.springframework.web.server.ServerWebExchange;
3031

32+
import static org.springdoc.core.GenericParameterBuilder.addFileType;
33+
3134
public class RequestBuilder extends AbstractRequestBuilder {
3235

3336
static {
3437
addResponseWrapperToIgnore(ServerWebExchange.class,ServerHttpRequest.class,ServerHttpResponse.class);
38+
addFileType(FilePart.class);
3539
}
3640

3741
public RequestBuilder(GenericParameterBuilder parameterBuilder, RequestBodyBuilder requestBodyBuilder,

0 commit comments

Comments
 (0)