private String calculateOperationPath(String path, String subPath, Set<String> patterns,
			Map<String, String> regexMap, ControllerType controllerType, String relationName, ResourceType resourceType) {
		String operationPath = null;
		for (String pattern : patterns) {
			operationPath = PathUtils.parsePath(pattern, regexMap);
			operationPath = operationPath.replace(REPOSITORY_PATH, path);
			if (ControllerType.ENTITY.equals(controllerType)) {
				if ((andCheck(ResourceType.ITEM.equals(resourceType), !operationPath.endsWith(ID))) || (andCheck(ResourceType.COLLECTION.equals(resourceType), operationPath.endsWith(ID))))
					operationPath = null;
			}
			else if (ControllerType.SEARCH.equals(controllerType))
				operationPath = operationPath.replace(SEARCH_PATH, subPath);
			else if (ControllerType.PROPERTY.equals(controllerType))
				operationPath = operationPath.replace("{property}", relationName);
		}
		return operationPath;
	}
Calculate operation path string.

@param path           the path
@param subPath        the sub path
@param patterns       the patterns
@param regexMap       the regex map
@param controllerType the controller type
@param relationName   the relation name
@param resourceType   the resource type
@return the string
springdoc-openapi-starter-common/src/main/java/org/springdoc/core/data/DataRestRouterOperationService.java