Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Retorno do HttpStatus 201

Olá, como vai?

Gostaria de saber qual a diferença entre retornar ResponseEntity.created(uri).body(entidade); e retornar new ResponseEntity(entidade, HttpStatus.CREATED);

Agradeço desde já!

1 resposta
solução!

Olá, Felipe! Como vai?

A diferença entre as duas formas de retornar o status HTTP 201 está principalmente na maneira como cada uma delas lida com a URI.

Quando você usa ResponseEntity.created(uri).body(entidade);, você está usando um método do Spring Boot que automaticamente configura o status HTTP para 201 (Created) e inclui um cabeçalho 'Location' com a URI fornecida. Esse método também permite que você inclua o corpo da resposta, que neste caso é a entidade que foi criada.

Por outro lado, quando você usa new ResponseEntity(entidade, HttpStatus.CREATED);, você está criando uma nova instância de ResponseEntity com o corpo da resposta e o status HTTP fornecidos. No entanto, este método não inclui automaticamente um cabeçalho 'Location'.

A URI é importante porque ela representa o endereço do novo recurso criado. Isso é útil para o cliente (por exemplo, um aplicativo de front-end ou mobile) que pode querer acessar o novo recurso diretamente. Portanto, neste caso, seria mais apropriado usar ResponseEntity.created(uri).body(entidade);.

Espero ter ajudado e bons estudos!