HTTP 201 Created
Resposta de sucesso para criação: um novo recurso agora existe, e Location informa onde.
O que significa o HTTP 201
HTTP 201 Created é retornado quando uma requisição — quase sempre um POST ou PUT — cria com sucesso um novo recurso no servidor. APIs REST o usam para distinguir "algo novo agora existe" do sucesso genérico 200.
Uma resposta 201 adequada inclui um cabeçalho Location com a URL do recurso recém-criado, e frequentemente ecoa o objeto criado no corpo para que o cliente não precise de um GET de acompanhamento.
Causas comuns de respostas 201
- Uma requisição POST criou um registro, arquivo ou conta.
- Uma requisição PUT criou um recurso na URL exata fornecida pelo cliente.
- Um endpoint de lote terminou de criar um recurso primário sincronamente.
Boas práticas para desenvolvedores
- Defina o cabeçalho Location para a URL canônica do novo recurso.
- Retorne a representação criada (com seu id atribuído pelo servidor) no corpo para poupar aos clientes uma ida e volta extra.
- Se a criação está enfileirada em vez de concluída, retorne 202 Accepted em vez disso.
- POSTs idênticos repetidos criando duplicatas? Considere chaves de idempotência e responda 200/409 para repetições.
Exemplo de resposta
HTTP/1.1 201 Created
Location: /api/users/1024
Content-Type: application/json
{"id":1024,"name":"New user"}Perguntas frequentes
Qual é a diferença entre 200 e 201?
Ambos significam sucesso, mas 201 especificamente informa ao cliente que um novo recurso foi criado. 200 apenas significa que a requisição foi processada.
O cabeçalho Location é obrigatório com 201?
É fortemente recomendado: aponta para a URL do recurso recém-criado para que os clientes possam buscá-lo ou vinculá-lo.
Quando uma API deve retornar 202 em vez de 201?
Quando a criação acontece de forma assíncrona — 202 significa que a requisição foi aceita mas o recurso ainda não existe.