Date:

When to Use ResponseEntity

Controller com Endpoint

Vejamos a controller com o endpoint abaixo:

@RestController
@RequestMapping("v1/hello")
public class ExampleController {
    @GetMapping
    public ResponseEntity<String> get() {
        return ResponseEntity.ok("Hello World!");
    }
}

ResponseEntity

Quando se utiliza a anotação @RestController do Spring, por default os responses são colocados nos body’s das respostas, é desnecessário o uso de ResponseEntity tipificando o retorno do método, apenas o tipo da resposta diretamente, como no exemplo abaixo:

@RestController
@RequestMapping("v1/hello")
public class ExampleController {
    @GetMapping
    public String get() {
        return "Hello World!";
    }
}

Também, por default, no caso de sucesso, o status code utilizado nos enpoints é 200 (OK), ou seja, só se faz necessário alterá-lo quando é desejado utilizar outro status, e não precisa ser utilizado ResponseEntity, basta utilizar a anotação @ResponseStatus acima do método:

@RestController
@RequestMapping("v1/hello")
public class ExampleController {
    @GetMapping
    @ResponseStatus(HttpStatus.ACCEPTED)
    public String get() {
        return "Hello World!";
    }
}

Por que existir a ResponseEntity?

Para casos em que você precisa adicionar mais informações na resposta que não apenas o body e o status, como por exemplo adicionar um header ao response:

@RestController
@RequestMapping("v1/hello")
public class ExampleController {
    @GetMapping
    public ResponseEntity<String> get() {
        return ResponseEntity.ok("Hello World!")
               .header("X-Test", "Blabla");
    }
}

Conclusão

A ResponseEntity é uma classe do Spring que permite que você controle o status code e os headers da resposta. Embora não seja necessário usar ResponseEntity em todos os casos, é útil quando você precisa adicionar mais informações na resposta.

Frequently Asked Questions

Q: Por que uso ResponseEntity?
A: Você pode usar ResponseEntity para adicionar mais informações na resposta, como headers ou status code.

Q: Posso usar ResponseEntity em todos os casos?
A: Não, você não precisa usar ResponseEntity em todos os casos. Em muitos casos, você pode simplesmente retornar o tipo da resposta diretamente.

Q: Qual é o status code padrão para uma resposta bem-sucedida?
A: O status code padrão para uma resposta bem-sucedida é 200 (OK).

Latest stories

Read More

mimic Robotics unveils full-stack platform for dexterous robot manipulation

mimic Robotics has introduced a new robotic hand,...

Aetina expands Nvidia Jetson Thor portfolio with T3000 and T2000 support

Please switch off your ad blocker. Our website relies...

How to benchmark your system before running robotics simulations

Please switch off your ad blocker. Our website relies...

Has AI Agent Autonomy Redefined Robotics Safety and Control?

Robotics systems are learning to perceive, choose, and...

Opinion: Exotec managing director highlights key warehouse automation trends for 2026

Thomas Genestar, managing director of western Europe at...

MassRobotics opens RoboBoston 2026 sponsorships and announces AI career fair

MassRobotics has announced that it will host RoboBoston...

Agility Robotics opens new Fremont facility to accelerate physical AI development

Agility Robotics, a humanoid robotics and physical AI...

LEAVE A REPLY

Please enter your comment!
Please enter your name here