Spring Level2 게시판 회원가입 구현

song yuheon·2023년 9월 1일
0

Spring

목록 보기
27/93
post-thumbnail
post-custom-banner

1. 회원가입을 위한 컨트롤러 구현

회원가입 컨트롤러 이미지

아래 코드는 회원가입 요청에 대한 응답을 처리하는 컨트롤러의 구현을 보여준다.

@PostMapping("/user/signup")
public ResponseEntity<String> signup(@RequestBody UserDto requestDto) {
    userService.signup(requestDto);
    String jsonResponse = "{\"msg\": \"회원가입 성공\", \"statusCode\": 200}";
    return ResponseEntity.ok(jsonResponse);
}

1-1. 트러블 슈팅 (Controller)

Spring Boot의 @Controller와 @RestController: 차이점 및 관련 오류 대응

1-2. User 객체 생성

User 객체 생성

2. 회원가입 진행을 위한 signUp service 제작

signUp service 이미지

public void signup(UserDto requestDto) {
    String username = requestDto.getUsername();
    String password = passwordEncoder.encode(requestDto.getPassword());

    // 회원 중복 확인
    Optional<User> checkUsername = userRepository.findByUsername(username); 
    if (checkUsername.isPresent()) {
        throw new IllegalArgumentException("중복된 사용자가 존재합니다.");
    }

    User user = new User(username, password);
    userRepository.save(user);
    System.out.println("=======");
}

3. UserRepository 제작

UserRepository 이미지

User 객체의 CRUD 작업을 지원하기 위하여 UserRepository 인터페이스를 다음과 같이 정의하였다.

public interface UserRepository extends JpaRepository<User, Long> {
    Optional<User> findByUsername(String username);
}
profile
backend_Devloper
post-custom-banner

0개의 댓글