API REST en Go que permite obtener las skins de jugadores premium de Minecraft usando su nombre de usuario.
- Obtener la skin completa de un jugador
- Obtener solo la cabeza del jugador
- Soporte para CORS
- Estructura modular y mantenible
- Manejo de errores robusto
minecraft-skin-api/
├── handlers/ # Manejadores HTTP
│ └── skin_handler.go # Maneja las peticiones de skins
├── models/ # Modelos de datos
│ └── models.go # Estructuras de datos
├── services/ # Lógica de negocio
│ └── minecraft_service.go # Servicio para interactuar con la API de Minecraft
└── main.go # Punto de entrada de la aplicación
- Go 1.21 o superior
- Clona este repositorio:
git clone <url-del-repositorio>
cd minecraft-skin-api
- Instala las dependencias:
go mod download
Para iniciar el servidor:
go run main.go
El servidor se iniciará en http://localhost:8080
Endpoint: GET /skin/:username
Ejemplo:
curl http://localhost:8080/skin/Notch
Respuesta:
{
"username": "Notch",
"uuid": "069a79f444e94726a5befca90e38aaf5",
"skin_url": "https://textures.minecraft.net/texture/..."
}
Endpoint: GET /skin/:username?head=true
Ejemplo:
curl http://localhost:8080/skin/Notch?head=true
Respuesta:
{
"username": "Notch",
"uuid": "069a79f444e94726a5befca90e38aaf5",
"skin_url": "https://crafatar.com/avatars/069a79f444e94726a5befca90e38aaf5"
}
400 Bad Request
: Cuando el nombre de usuario no está presente en la URL404 Not Found
: Cuando el jugador no existe500 Internal Server Error
: Cuando hay un error al procesar la petición
- La API solo funciona con cuentas premium de Minecraft
- Si el jugador no existe o no tiene una skin, la API devolverá un error
- La API incluye CORS habilitado para permitir peticiones desde cualquier origen
- Las skins se obtienen directamente de los servidores oficiales de Minecraft
- Las cabezas se obtienen a través del servicio Crafatar
Las contribuciones son bienvenidas. Por favor, asegúrate de:
- Hacer fork del repositorio
- Crear una rama para tu feature (
git checkout -b feature/AmazingFeature
) - Commit tus cambios (
git commit -m 'Add some AmazingFeature'
) - Push a la rama (
git push origin feature/AmazingFeature
) - Abrir un Pull Request