Cómo Crear un API REST en Spring Boot con Groovy para Subir Videos (MP4, AVI, MOV) – Guía 2025

Aprende a subir archivos usando SpringBoot

🚀 ¿Necesitas un API REST en Spring Boot con Groovy para subir múltiples videos (MP4, AVI, MOV) con un límite de 1 GB? ¡Esta guía paso a paso te muestra cómo hacerlo con las mejores prácticas 2025! 📹💡

👉 ¡Compártelo en Twitter | LinkedIn | Facebook para ayudar a más desarrolladores!


🔍 ¿Qué Aprenderás?

Configurar Spring Boot + Groovy + Gradle
Validar extensiones de video (MP4, AVI, MOV)
Limitar el tamaño de archivos a 1 GB
Manejar subidas múltiples de forma eficiente


🛠️ Paso 1: Configuración del Proyecto (build.gradle)

Asegúrate de tener las dependencias correctas en tu build.gradle:

plugins {  
    id 'org.springframework.boot' version '3.1.0'  
    id 'io.spring.dependency-management' version '1.1.0'  
    id 'groovy'  
}  

dependencies {  
    implementation 'org.springframework.boot:spring-boot-starter-web'  
    implementation 'org.codehaus.groovy:groovy'  
    testImplementation 'org.springframework.boot:spring-boot-starter-test'  
}  

⚙️ Paso 2: Configuración de Multipart (application.properties)

Define el tamaño máximo de archivos (1 GB):

spring.servlet.multipart.max-file-size=1GB  
spring.servlet.multipart.max-request-size=1GB  

🚀 Paso 3: Controlador para Subida de Videos

Crea un controlador en Groovy con validación de extensiones y tamaño:

@RestController  
class VideoUploadController {  

    private static final List<String> ALLOWED_EXTENSIONS = ["mp4", "avi", "mov"]  

    @PostMapping("/upload")  
    ResponseEntity<String> uploadVideos(@RequestParam("files") MultipartFile[] files) {  
        if (files.isEmpty()) return ResponseEntity.badRequest().body("❌ No se subieron archivos")  

        for (file in files) {  
            // Validar extensión  
            String extension = file.originalFilename?.split("\\.")?.last()?.toLowerCase()  
            if (!ALLOWED_EXTENSIONS.contains(extension)) {  
                return ResponseEntity.badRequest().body("❌ Solo se permiten videos MP4, AVI o MOV")  
            }  

            // Validar tamaño (1 GB)  
            if (file.size > 1_073_741_824) {  
                return ResponseEntity.badRequest().body("❌ El archivo supera el límite de 1 GB")  
            }  

            // Guardar archivo (ejemplo)  
            // file.transferTo(new File("/ruta/guardado/" + file.originalFilename))  
        }  

        return ResponseEntity.ok("✅ Videos subidos correctamente")  
    }  
}  

🔍 ¿Por Qué Esta Implementación es la Mejor en 2025?

Validación doble: Extensiones + tipo MIME (video/*)
Límite de tamaño configurable (1 GB)
Código limpio y eficiente en Groovy
Preparado para escalar en microservicios


📌 Conclusión

Ahora tienes un API REST en Spring Boot con Groovy que:
- ✅ Acepta solo MP4, AVI, MOV
- ✅ Limita archivos a 1 GB
- ✅ Maneja múltiples subidas

🔗 ¿Te sirvió? ¡Compártelo en Twitter | LinkedIn | Facebook y ayuda a más devs!

💬 ¿Tienes dudas? ¡Déjalas en los comentarios! 👇

SpringBoot #Groovy #APIREST #DesarrolloWeb #Programación2025 🚀

Artículos Relacionados

Comentarios