ResponseEntity no Spring Boot: Quando Usar e Exemplos Práticos

responseentity no spring boot retornando status http e body

Exemplo de uso do ResponseEntity no Spring Boot para retornar status HTTP e corpo da resposta em APIs REST

O ResponseEntity no Spring Boot é uma das classes mais importantes para criar
API REST em Java de forma profissional.
Neste artigo você vai entender o que é ResponseEntity, quando usar e ver exemplos práticos no dia a dia.

Essa é uma dúvida muito comum para quem já aprendeu
Controller vs RestController no Spring Boot
e quer evoluir na criação de APIs REST.


O que é ResponseEntity no Spring Boot?

O ResponseEntity é uma classe do Spring que representa uma resposta HTTP completa.
Com ela, você pode controlar:

  • O corpo da resposta (body)
  • O status HTTP
  • Os headers

Isso torna o ResponseEntity Spring Boot ideal para APIs REST, onde o controle da resposta é fundamental.


Por que usar ResponseEntity em APIs REST?

Em uma api rest spring boot java, retornar apenas um objeto pode não ser suficiente.
Muitas vezes, você precisa informar se a requisição foi bem-sucedida, se ocorreu um erro ou se um recurso foi criado.

O ResponseEntity permite retornar respostas mais semânticas e alinhadas com o protocolo HTTP.


Exemplo simples de ResponseEntity no Spring Boot

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

Nesse exemplo, o método retorna um ResponseEntity com status 200 OK
e uma lista no corpo da resposta.


ResponseEntity com status HTTP personalizado

Uma das maiores vantagens do ResponseEntity no Spring Boot é a possibilidade de definir explicitamente o status HTTP.

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

Aqui, o endpoint retorna o status 201 Created, que é o mais adequado para criação de recursos.


Quando NÃO usar ResponseEntity?

Nem sempre o uso de ResponseEntity é obrigatório.

  • O retorno é simples e sempre será 200 OK
  • Não há necessidade de headers personalizados
  • O endpoint é apenas informativo

Mesmo assim, em APIs REST profissionais, o uso de ResponseEntity é considerado uma boa prática.


ResponseEntity vs retorno direto de objeto

Retorno direto

@GetMapping("/status")
public String status() {
  return "API online";
}

Com ResponseEntity

@GetMapping("/status")
public ResponseEntity<String> status() {
  return ResponseEntity.ok("API online");
}

O segundo exemplo deixa explícito o status HTTP retornado pela API.


ResponseEntity e Status HTTP

O ResponseEntity trabalha diretamente com os códigos de status HTTP, como:

  • 200 OK
  • 201 Created
  • 204 No Content
  • 400 Bad Request
  • 404 Not Found
  • 500 Internal Server Error

No próximo artigo, veremos em detalhes como usar corretamente os

status HTTP em APIs REST com Spring Boot
.


ResponseEntity funciona com RestController?

Sim. O ResponseEntity funciona perfeitamente com @RestController
e é amplamente utilizado em APIs REST modernas.

Essa combinação é a base para criar APIs limpas, previsíveis e fáceis de manter.


Conteúdos relacionados


Conclusão

O ResponseEntity no Spring Boot é uma ferramenta essencial para quem deseja criar APIs REST profissionais em Java.

Ele permite controlar status HTTP, corpo da resposta e headers, tornando sua API mais semântica, clara e alinhada com boas práticas.

Referência oficial

Deixe um comentário