🚀 ¿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! 👇
Comentarios