private void buildRouterOperationList(List<RouterOperation> routerOperationList, ResourceMetadata resourceMetadata,
			DataRestRepository dataRestRepository, OpenAPI openAPI, String path, Entry<RequestMappingInfo, HandlerMethod> entry,
			String subPath, ControllerType controllerType, MethodResourceMapping methodResourceMapping) {
		RequestMappingInfo requestMappingInfo = entry.getKey();
		HandlerMethod handlerMethod = entry.getValue();
		Set<RequestMethod> requestMethodsItem;
		Set<RequestMethod> requestMethodsCollection;

		Set<RequestMethod> requestMethods = requestMappingInfo.getMethodsCondition().getMethods();
		if (andCheck(resourceMetadata != null, !controllerType.equals(ControllerType.SEARCH))) {
			HttpMethods httpMethodsItem = resourceMetadata.getSupportedHttpMethods().getMethodsFor(ResourceType.ITEM);
			requestMethodsItem = requestMethods.stream().filter(requestMethod -> httpMethodsItem.contains(HttpMethod.valueOf(requestMethod.toString())))
					.collect(Collectors.toCollection(LinkedHashSet::new));

			buildRouterOperation(routerOperationList, resourceMetadata, dataRestRepository, openAPI, path,
					subPath, controllerType, methodResourceMapping, requestMappingInfo, handlerMethod, requestMethodsItem, ResourceType.ITEM);

			if (!ControllerType.PROPERTY.equals(controllerType)) {
				HttpMethods httpMethodsCollection = resourceMetadata.getSupportedHttpMethods().getMethodsFor(ResourceType.COLLECTION);
				requestMethodsCollection = requestMethods.stream().filter(requestMethod -> httpMethodsCollection.contains(HttpMethod.valueOf(requestMethod.toString())))
						.collect(Collectors.toCollection(LinkedHashSet::new));

				buildRouterOperation(routerOperationList, resourceMetadata, dataRestRepository, openAPI, path,
						subPath, controllerType, methodResourceMapping, requestMappingInfo, handlerMethod, requestMethodsCollection, ResourceType.COLLECTION);
			}

		}
		else {
			buildRouterOperation(routerOperationList, resourceMetadata, dataRestRepository, openAPI, path,
					subPath, controllerType, methodResourceMapping, requestMappingInfo, handlerMethod, requestMethods, null);
		}

	}
Build router operation list.

@param routerOperationList   the router operation list
@param resourceMetadata      the resource metadata
@param dataRestRepository    the repository data rest
@param openAPI               the open api
@param path                  the path
@param entry                 the entry
@param subPath               the sub path
@param controllerType        the controllerType
@param methodResourceMapping the method resource mapping
springdoc-openapi-starter-common/src/main/java/org/springdoc/core/data/DataRestRouterOperationService.java