findById
❗Utilizamos o switchIfEmpty no service parar retornar uma exceção.
Service
Antes
Depois
Controller
Antes
Depois
Atualizado
❗Utilizamos o switchIfEmpty no service parar retornar uma exceção.
Antes
@Transactional(readOnly = true)
public UserDTO findById(String id) {
User user = repository.findById(id).orElseThrow(() -> new ResourceNotFoundException("Recurso não encontrado"));
return new UserDTO(user);
}
Depois
public Mono<UserDTO> findById(String id) {
return repository.findById(id)
.map(UserDTO::new)
.switchIfEmpty(Mono.error(new ResourceNotFoundException("ID não encontrado")));
}
Antes
@GetMapping(value = "/{id}")
public ResponseEntity<UserDTO> findById(@PathVariable String id) {
UserDTO dto = service.findById(id);
return ResponseEntity.ok(dto);
}
Depois
@GetMapping(value = "/{id}")
public Mono<ResponseEntity<UserDTO>> findById(@PathVariable String id) {
return service.findById(id).map(userDTO -> ResponseEntity.ok().body(userDTO));
}
Atualizado