MÉTODO GET (COM ID)
@GetMapping("/products/{id}")
public ResponseEntity<Object> getOneProduct(@PathVariable(value = "id") UUID id) {
Optional<ProductModel> productO = productRepository.findById(id);
if (productO.isEmpty()) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Product not found.");
}
else {
return ResponseEntity.status(HttpStatus.OK).body(productO.get());
}
}
O @PathVariable nos ajuda a pegar o {id} passado no @Get.
O método nos retornará um Optional.
Instanciaremos um objeto ProductModel do tipo Optional, e entraremos no repository, usando o findById passando a ID do método como parâmetro. Depois, é aquele if padrão. Se estiver vazio, lança a mensagem de not found. Se não estiver vazio, pega o product e passa no corpo da resposta.
Atualizado