diff --git a/src/main/java/com/leungcheng/spring_simple_backend/controller/AuthController.java b/src/main/java/com/leungcheng/spring_simple_backend/controller/AuthController.java index 972ba9e..6f671f7 100644 --- a/src/main/java/com/leungcheng/spring_simple_backend/controller/AuthController.java +++ b/src/main/java/com/leungcheng/spring_simple_backend/controller/AuthController.java @@ -23,7 +23,7 @@ public class AuthController { @PostMapping("/signup") @ResponseStatus(HttpStatus.CREATED) public void signup(@Valid @RequestBody AuthController.UserCredentials userCredentials) { - if (this.userRepository.findByUsername(userCredentials.username()) != null) { + if (this.userRepository.findByUsername(userCredentials.username()).isPresent()) { throw new UsernameAlreadyExistsException(userCredentials.username()); } diff --git a/src/main/java/com/leungcheng/spring_simple_backend/domain/CustomUserDetailService.java b/src/main/java/com/leungcheng/spring_simple_backend/domain/CustomUserDetailService.java index 0b4b954..7a7f571 100644 --- a/src/main/java/com/leungcheng/spring_simple_backend/domain/CustomUserDetailService.java +++ b/src/main/java/com/leungcheng/spring_simple_backend/domain/CustomUserDetailService.java @@ -10,6 +10,8 @@ public class CustomUserDetailService implements UserDetailsService { @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { - return repository.findByUsername(username); // TODO: Handle case that user is not found + return repository + .findByUsername(username) + .orElseThrow(() -> new UsernameNotFoundException(username + " not found")); } } diff --git a/src/main/java/com/leungcheng/spring_simple_backend/domain/UserRepository.java b/src/main/java/com/leungcheng/spring_simple_backend/domain/UserRepository.java index a355e8b..f695836 100644 --- a/src/main/java/com/leungcheng/spring_simple_backend/domain/UserRepository.java +++ b/src/main/java/com/leungcheng/spring_simple_backend/domain/UserRepository.java @@ -1,7 +1,8 @@ package com.leungcheng.spring_simple_backend.domain; +import java.util.Optional; import org.springframework.data.repository.CrudRepository; public interface UserRepository extends CrudRepository { - User findByUsername(String username); + Optional findByUsername(String username); }