Bonjour,
J'utilise Spring boot pour un projet web ou il servira de back et j'ai un problème.
Je voudrais tester si mon optionnal est null ou vide.
J'ai commencé comme ça :
Mais même si je teste la nullité de l'optionnal grâce à Optional.ofNullable, si celui-ci est vide il passe quand même dans la map et créer une exception avec le "user.get()". Je sais qu'il existe d'autres moyens avec le ispresent , ifpresent ... mais je voulais éviter de faire un "if - else". Le but de cette question et simplement de savoir si il y a un autre moyen que le basique if-else.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 @GetMapping("/user/{id}") public ResponseEntity<User> getUserById(@PathVariable Long id) { return Optional.ofNullable(userService.findUserById(id)).map(user -> { return ResponseEntity.ok(user.get()); }).orElseGet(() -> ResponseEntity.notFound().build()); }
Connaissez-vous un moyen de réussir ceci ?
J'ai essayé comme ça aussi :
Mais ifPresentOrElse a un retour à void donc ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 @GetMapping("/user/{id}") public ResponseEntity<User> getUserById(@PathVariable Long id) { return Optional.ofNullable(userService.findUserById(id)).ifPresentOrElse(user -> ResponseEntity.ok(user.get()), () -> ResponseEntity.notFound().build()); }
Preneur d'idée, je ne sais pas si c'est réalisable![]()
Partager