doc-architect/doc-architect-core/src/main/java/com/docarchitect/core/scanner/impl/java/SpringRestApiScanner.java [295:322]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        cu.findAll(ClassOrInterfaceDeclaration.class).forEach(classDecl -> {
            // Check if class is a controller
            boolean isController = classDecl.getAnnotations().stream()
                .anyMatch(ann -> CONTROLLER_ANNOTATIONS.contains(ann.getNameAsString()));

            if (!isController) {
                return; // Skip non-controller classes
            }

            String className = classDecl.getNameAsString();
            String packageName = cu.getPackageDeclaration()
                .map(pd -> pd.getNameAsString())
                .orElse("");

            String fullyQualifiedName = packageName.isEmpty() ? className : packageName + "." + className;

            // Extract base path from class-level @RequestMapping
            String basePath = extractPathFromAnnotation(
                classDecl.getAnnotations().stream()
                    .filter(ann -> REQUEST_MAPPING.equals(ann.getNameAsString()))
                    .findFirst()
                    .orElse(null)
            );

            log.debug("Found Spring controller: {} with base path: {}", fullyQualifiedName, basePath);

            // Find all request mapping methods
            classDecl.getMethods().forEach(method -> {
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



doc-architect/doc-architect-core/src/main/java/com/docarchitect/core/scanner/impl/java/SpringRestApiScanner.java [433:460]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        cu.findAll(ClassOrInterfaceDeclaration.class).forEach(classDecl -> {
            // Check if class is a controller
            boolean isController = classDecl.getAnnotations().stream()
                .anyMatch(ann -> CONTROLLER_ANNOTATIONS.contains(ann.getNameAsString()));

            if (!isController) {
                return; // Skip non-controller classes
            }

            String className = classDecl.getNameAsString();
            String packageName = cu.getPackageDeclaration()
                .map(pd -> pd.getNameAsString())
                .orElse("");

            String fullyQualifiedName = packageName.isEmpty() ? className : packageName + "." + className;

            // Extract base path from class-level @RequestMapping
            String basePath = extractPathFromAnnotation(
                classDecl.getAnnotations().stream()
                    .filter(ann -> REQUEST_MAPPING.equals(ann.getNameAsString()))
                    .findFirst()
                    .orElse(null)
            );

            log.debug("Found Spring controller: {} with base path: {}", fullyQualifiedName, basePath);

            // Find all request mapping methods
            classDecl.getMethods().forEach(method -> {
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



