Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

209
Vistas
Quiero devolver una excepción mientras mi tipo de devolución es Dto

Si no pudiera encontrar un usuario en mi base de datos con una identificación dada. Quiero devolver una excepción en lugar de un Dto nulo, ¿cómo puedo hacer esto?

 public UserDto updateUser(Long id, UserDto userDto) { UserDto userDtoNew = null; if (userRepository.findById(id).isPresent()) { User existingUser = userRepository.findById(id).get(); existingUser.setPassword(userDto.getPassword()); existingUser.setUserName(userDto.getUserName()); userDtoNew = userMapper.toDto(existingUser); return userDtoNew; } return userDtoNew; }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Esta es una manera terrible de usar un Optional . Por favor, aprenda cómo usarlo correctamente.

 return userRepository.findById(id) .map(it -> { it.setPassword(userDto.getPassword()); it.setUserName(userDto.getUserName()); }).map(userMapper::toDto) .orElseThrow(() -> new IllegalArgumentException("No user found for " + id));

Algo similar es cómo usar correctamente un Optional y lanzar una excepción si no se encuentra nada.

Idealmente, lo que se llama dentro de la función/método del map es solo una línea. Entonces, en lugar de tener el bloque de código con {} , es posible que desee moverlo a un método para que sea más legible.

 private User update(User user, UserDto userDto) { user.setPassword(userDto.getPassword()); user.setUserName(userDto.getUserName()); return user; }
 return userRepository.findById(id) .map(it -> update(it, userDto)) .map(userMapper::toDto) .orElseThrow(() -> new IllegalArgumentException("No user found for " + id));
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda