Status HTTP em API REST com Spring Boot: Guia Completo

status http api rest spring boot com exemplos de códigos
Exemplo de uso dos principais status HTTP em APIs REST desenvolvidas com Spring Boot

 

Os status HTTP em API REST Spring Boot são fundamentais para indicar corretamente o resultado de uma requisição.
Neste guia, você vai entender quais códigos HTTP usar, quando aplicá-los e como retorná-los corretamente em APIs REST desenvolvidas em Java com Spring Boot.

Este conteúdo complementa o guia principal sobre
API REST Spring Boot Java
e o uso de
ResponseEntity no Spring Boot.


O que são Status HTTP?

Status HTTP são códigos numéricos retornados pelo servidor para informar ao cliente o resultado de uma requisição HTTP.
Eles fazem parte do protocolo HTTP e são essenciais para a comunicação entre cliente e servidor em uma API REST.

Em uma api rest spring boot java, o uso correto dos status HTTP melhora a clareza da API, facilita integrações e reduz ambiguidades.


Principais categorias de Status HTTP

1xx – Informativo

Indicam que a requisição foi recebida e está sendo processada.

2xx – Sucesso

Indicam que a requisição foi processada com sucesso.

3xx – Redirecionamento

Indicam que o cliente precisa realizar outra ação.

4xx – Erro do cliente

Indicam erro na requisição enviada pelo cliente.

5xx – Erro do servidor

Indicam falha no processamento da requisição no servidor.


Status HTTP mais usados em APIs REST

  • 200 OK – Requisição bem-sucedida
  • 201 Created – Recurso criado com sucesso
  • 204 No Content – Sucesso sem retorno no corpo
  • 400 Bad Request – Erro na requisição do cliente
  • 401 Unauthorized – Usuário não autenticado
  • 403 Forbidden – Acesso negado
  • 404 Not Found – Recurso não encontrado
  • 500 Internal Server Error – Erro interno no servidor

Como retornar Status HTTP no Spring Boot

A forma mais recomendada de retornar status HTTP em uma API REST é utilizando
ResponseEntity no Spring Boot,
pois ele permite controlar explicitamente o status e o corpo da resposta.

Exemplo com 200 OK

@GetMapping("/usuarios")
public ResponseEntity<List<String>> listarUsuarios() {
  return ResponseEntity.ok(List.of("Ana", "Carlos", "João"));
}

Exemplo com 201 Created

@PostMapping("/usuarios")
public ResponseEntity<String> criarUsuario() {
  return ResponseEntity.status(HttpStatus.CREATED)
    .body("Usuário criado com sucesso");
}

Quando usar cada Status HTTP?

  • 200 OK: buscas e operações bem-sucedidas
  • 201 Created: criação de recursos
  • 204 No Content: sucesso sem retorno
  • 400 Bad Request: dados inválidos
  • 401 / 403: problemas de autenticação ou autorização
  • 404 Not Found: recurso inexistente
  • 500 Internal Server Error: falhas inesperadas

Status HTTP e boas práticas em API REST

  • Não use sempre 200 OK
  • Retorne status coerentes com a operação
  • Padronize respostas de erro
  • Use ResponseEntity para maior controle

Status HTTP e Controllers no Spring Boot

Em APIs REST, os status HTTP são normalmente retornados a partir de classes anotadas com
@RestController.
Se você ainda tem dúvidas sobre essa anotação, veja a diferença entre
Controller vs RestController no Spring Boot.


Conteúdos relacionados


Conclusão

O uso correto dos status HTTP em API REST Spring Boot é essencial para criar APIs claras, previsíveis e profissionais.

Com Spring Boot e ResponseEntity, é possível controlar facilmente os códigos HTTP e entregar respostas mais semânticas e alinhadas às boas práticas REST.

Referências oficiais

Deixe um comentário