Padrão de Códigos de Status HTTP em APIs REST

A importância de manter um padrão de utilização dos códigos em uma API REST é crucial para garantir a qualidade e a confiabilidade dos serviços oferecidos. Os códigos de status HTTP são uma forma de informar ao cliente o resultado da solicitação feita à API, e manter um padrão ajuda a garantir que as respostas sejam entendidas de maneira consistente.

Uma boa prática é sempre retornar o código de status mais adequado para a situação. Por exemplo, se uma solicitação foi bem-sucedida, é recomendável retornar o código 200 (OK); se o recurso solicitado não foi encontrado, o código 404 (Not Found) é apropriado. Usar o código correto ajuda a garantir que o cliente saiba exatamente o que está acontecendo e possa tomar medidas adequadas.

Ao se utilizar uma API, é preciso sempre verificar o código de status retornado, e tomar as ações adequadas para cada código. Isso evita problemas de funcionamento e garante a integridade da sua aplicação.

Códigos HTTP

Aqui está uma tabela com todos os códigos de status HTTP e destacando aqueles que são mais comuns e mais utilizados:

CódigoDescriçãoSituação
*200OKA solicitação foi bem-sucedida
*201CreatedUm novo recurso foi criado como resultado da solicitação
204No ContentA solicitação foi bem-sucedida, mas não há conteúdo para retornar
*400Bad RequestA solicitação foi mal formatada ou inválida
401UnauthorizedO cliente precisa se autenticar para obter a resposta solicitada
403ForbiddenO cliente não tem permissão para acessar o recurso solicitado
*404Not FoundO recurso solicitado não foi encontrado
500Internal Server ErrorOcorreu um erro interno no servidor
201CreatedUm recurso é criado
202AcceptedUma requisição foi aceita para processamento, mas não foi concluída
203Non-Authoritative InformationInformação retornada, mas de uma fonte não confiável
204No ContentA solicitação foi concluída com sucesso, mas não há nenhum conteúdo a retornar
205Reset ContentA solicitação foi concluída com sucesso, mas o navegador deve limpar a tela
206Partial ContentA solicitação foi atendida parcialmente
300Multiple ChoicesMúltiplas opções disponíveis
301Moved PermanentlyO recurso solicitado foi movido permanentemente
302FoundO recurso solicitado foi encontrado temporariamente em outro lugar
303See OtherO recurso solicitado está em outro lugar
304Not ModifiedO recurso solicitado não foi modificado desde a última solicitação
305Use ProxyO recurso solicitado deve ser acessado através de um proxy
307Temporary RedirectO recurso solicitado foi movido temporariamente para outro lugar
400Bad RequestA solicitação foi inválida ou mal formatada
*401UnauthorizedO cliente não forneceu credenciais válidas
*402Payment RequiredPagamento é necessário para acessar este recurso
403ForbiddenO cliente não tem permissão para acessar o recurso solicitado
*404Not FoundO recurso solicitado não foi encontrado
405Method Not AllowedO método HTTP usado na solicitação não é permitido para o recurso solicitado
406Not AcceptableO recurso solicitado não pode ser retornado no formato aceito pelo cliente
407Proxy Authentication RequiredO cliente deve se autenticar com o proxy antes de continuar
408Request TimeoutO tempo limite para a solicitação foi excedido
409ConflictHouve uma conflito ao processar a solicitação
410GoneO recurso solicitado foi removido permanentemente
411Length RequiredO comprimento do corpo da solicitação é necessário
412Precondition FailedUma ou mais condições da solicitação falharam
413Request Entity Too LargeA entidade da solicitação é muito grande
414Request-URI Too LongA URI da solicitação é muito longa
415Unsupported Media TypeO tipo de mídia da solicitação não é suportado
416Requested Range Not SatisfiableO intervalo solicitado não pode ser atendido
417Expectation FailedA expectativa da solicitação falhou
500Internal Server ErrorOcorreu um erro interno no servidor
*501Not ImplementedA solicitação não pode ser atendida pelo servidor
502Bad GatewayO servidor está atuando como gateway e recebeu uma resposta inválida
503Service UnavailableO servidor está temporariamente indisponível
504Gateway TimeoutO servidor está atuando como gateway e não recebeu uma resposta a tempo
505HTTP Version Not SupportedA versão do HTTP usada na solicitação não é suportada pelo servidor

Os códigos de status marcados com um * são considerados os mais comuns e mais utilizados, no entanto, isso pode variar dependendo das necessidades da sua API.

Seguir boas práticas ajuda a garantir que sua API seja de alta qualidade, confiável e fácil de usar para os clientes. A fim de prover uma experiência satisfatória para os usuários da sua API, é preciso se atentar a todos os detalhes, e utilizar corretamente os códigos de status é uma delas.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *