Skip to content

Commit 393d4d2

Browse files
committed
upgrade to spring-boot 2.4.3
1 parent ceb4a5b commit 393d4d2

File tree

2 files changed

+25
-6
lines changed

2 files changed

+25
-6
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<parent>
1212
<groupId>org.springframework.boot</groupId>
1313
<artifactId>spring-boot-starter-parent</artifactId>
14-
<version>2.4.2</version>
14+
<version>2.4.3</version>
1515
</parent>
1616

1717
<licenses>

springdoc-openapi-data-rest/src/main/java/org/springdoc/data/rest/core/DataRestRouterOperationService.java

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,10 @@
4848
import org.springframework.data.rest.core.mapping.ResourceType;
4949
import org.springframework.http.HttpMethod;
5050
import org.springframework.util.AntPathMatcher;
51+
import org.springframework.util.CollectionUtils;
5152
import org.springframework.web.bind.annotation.RequestMethod;
5253
import org.springframework.web.method.HandlerMethod;
54+
import org.springframework.web.servlet.mvc.condition.PathPatternsRequestCondition;
5355
import org.springframework.web.servlet.mvc.condition.PatternsRequestCondition;
5456
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
5557

@@ -176,9 +178,8 @@ private void buildRouterOperationList(List<RouterOperation> routerOperationList,
176178

177179
for (RequestMethod requestMethod : requestMethods) {
178180
if (!UNDOCUMENTED_REQUEST_METHODS.contains(requestMethod)) {
179-
PatternsRequestCondition patternsRequestCondition = requestMappingInfo.getPatternsCondition();
180-
if (patternsRequestCondition != null) {
181-
Set<String> patterns = patternsRequestCondition.getPatterns();
181+
Set<String> patterns = getActivePatterns(requestMappingInfo);
182+
if (!CollectionUtils.isEmpty(patterns)) {
182183
Map<String, String> regexMap = new LinkedHashMap<>();
183184
String relationName = dataRestRepository.getRelationName();
184185
String operationPath = calculateOperationPath(path, subPath, patterns, regexMap, controllerType, relationName);
@@ -273,8 +274,8 @@ private Optional<Entry<RequestMappingInfo, HandlerMethod>> getSearchEntry(Map<Re
273274
private boolean isSearchControllerPresent(RequestMappingInfo requestMappingInfo, HandlerMethod handlerMethod, RequestMethod requestMethod) {
274275
if (!UNDOCUMENTED_REQUEST_METHODS.contains(requestMethod)) {
275276
PatternsRequestCondition patternsRequestCondition = requestMappingInfo.getPatternsCondition();
276-
if (patternsRequestCondition != null) {
277-
Set<String> patterns = patternsRequestCondition.getPatterns();
277+
Set<String> patterns = getActivePatterns(requestMappingInfo);
278+
if (!CollectionUtils.isEmpty(patterns)) {
278279
Map<String, String> regexMap = new LinkedHashMap<>();
279280
String operationPath;
280281
for (String pattern : patterns) {
@@ -291,4 +292,22 @@ private boolean isSearchControllerPresent(RequestMappingInfo requestMappingInfo,
291292
return false;
292293
}
293294

295+
/**
296+
* Gets active patterns.
297+
*
298+
* @param requestMappingInfo the request mapping info
299+
* @return the active patterns
300+
*/
301+
private Set<String> getActivePatterns(RequestMappingInfo requestMappingInfo) {
302+
Set<String> patterns = null;
303+
PatternsRequestCondition patternsRequestCondition = requestMappingInfo.getPatternsCondition();
304+
if (patternsRequestCondition != null)
305+
patterns = patternsRequestCondition.getPatterns();
306+
else {
307+
PathPatternsRequestCondition pathPatternsRequestCondition = requestMappingInfo.getPathPatternsCondition();
308+
if (pathPatternsRequestCondition != null)
309+
patterns = pathPatternsRequestCondition.getPatternValues();
310+
}
311+
return patterns;
312+
}
294313
}

0 commit comments

Comments
 (0)