Criando exceções de serviço customizadas
//como o service devolve um DTO para o controller,
//a função retornará um DTO
@Transactional(readOnly = true)
public ProductDto findById(Long id) {
//busca no banco de dados, caso não ache, lançará uma exceção
Product product = productRepository.findById(id).orElseThrow(
() -> new ResourceNotFoundException("Recurso não encontrado."));
//lembrar que no DTO foi criado um construtor
//específico para receber um Product
return new ProductDto(product);
}Atualizado
