Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

210
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!