|
40 | 40 | import org.springdoc.core.SpringDocConfigProperties; |
41 | 41 | import org.springdoc.core.fn.RouterOperation; |
42 | 42 | import org.springdoc.data.rest.DataRestHalProvider; |
43 | | -import org.springdoc.webmvc.api.OpenApiResource; |
44 | 43 |
|
45 | 44 | import org.springframework.data.rest.core.Path; |
46 | 45 | import org.springframework.data.rest.core.config.RepositoryRestConfiguration; |
|
53 | 52 | import org.springframework.util.CollectionUtils; |
54 | 53 | import org.springframework.web.bind.annotation.RequestMethod; |
55 | 54 | import org.springframework.web.method.HandlerMethod; |
| 55 | +import org.springframework.web.servlet.mvc.condition.PathPatternsRequestCondition; |
| 56 | +import org.springframework.web.servlet.mvc.condition.PatternsRequestCondition; |
56 | 57 | import org.springframework.web.servlet.mvc.method.RequestMappingInfo; |
57 | 58 |
|
58 | | -import static org.springdoc.webmvc.api.OpenApiResource.getActivePatterns; |
59 | | - |
60 | 59 | /** |
61 | 60 | * The type Data rest router operation builder. |
62 | 61 | * @author bnasslahsen |
@@ -219,7 +218,7 @@ private void buildRouterOperation(List<RouterOperation> routerOperationList, Res |
219 | 218 | if (!CollectionUtils.isEmpty(requestMethodsCollection)) |
220 | 219 | for (RequestMethod requestMethod : requestMethodsCollection) { |
221 | 220 | if (!UNDOCUMENTED_REQUEST_METHODS.contains(requestMethod)) { |
222 | | - Set<String> patterns = OpenApiResource.getActivePatterns(requestMappingInfo); |
| 221 | + Set<String> patterns = getActivePatterns(requestMappingInfo); |
223 | 222 | if (!CollectionUtils.isEmpty(patterns)) { |
224 | 223 | Map<String, String> regexMap = new LinkedHashMap<>(); |
225 | 224 | String relationName = dataRestRepository.getRelationName(); |
@@ -344,6 +343,24 @@ private boolean isSearchControllerPresent(RequestMappingInfo requestMappingInfo, |
344 | 343 | return false; |
345 | 344 | } |
346 | 345 |
|
| 346 | + /** |
| 347 | + * Gets active patterns. |
| 348 | + * |
| 349 | + * @param requestMappingInfo the request mapping info |
| 350 | + * @return the active patterns |
| 351 | + */ |
| 352 | + private Set<String> getActivePatterns(RequestMappingInfo requestMappingInfo) { |
| 353 | + Set<String> patterns = null; |
| 354 | + PatternsRequestCondition patternsRequestCondition = requestMappingInfo.getPatternsCondition(); |
| 355 | + if (patternsRequestCondition != null) |
| 356 | + patterns = patternsRequestCondition.getPatterns(); |
| 357 | + else { |
| 358 | + PathPatternsRequestCondition pathPatternsRequestCondition = requestMappingInfo.getPathPatternsCondition(); |
| 359 | + if (pathPatternsRequestCondition != null) |
| 360 | + patterns = pathPatternsRequestCondition.getPatternValues(); |
| 361 | + } |
| 362 | + return patterns; |
| 363 | + } |
347 | 364 | /** |
348 | 365 | * Is condition one and condition two boolean. |
349 | 366 | * |
|
0 commit comments