¿Qué narices es esto?
El código 201 Created es el "¡felicidades, has creado algo!" de la web. Es como cuando terminas un puzzle y alguien te dice "¡muy bien!" pero específicamente porque has añadido algo nuevo al mundo, no solo porque todo funciona.
Mientras que el 200 OK es para cuando recuperas algo que ya existía, el 201 es para cuando has creado algo completamente nuevo. Es la diferencia entre abrir la nevera y encontrar una cerveza (200) vs. hacer la cerveza desde cero (201). Ambos están bien, pero uno implica creación.
El 201 se usa típicamente cuando:
- Creas un nuevo usuario con POST /users
- Subes un archivo que no existía antes
- Publicas un post nuevo en un blog
- Generas un recurso con PUT en una URL nueva
- Cualquier operación que resulte en algo nuevo
🏗️ Dato curioso
El 201 debería incluir un header Location apuntando al recurso recién creado. Es como darte las coordenadas de tu casa nueva después de construirla. Sin Location, es como decir "te he hecho una casa" pero no decirte dónde está.
Lo bonito del 201 es que es semánticamente específico. No es solo "todo bien", es "todo bien Y además has creado algo". Es el equivalente web de firmar un acta de nacimiento.