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á!
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á!
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!