회원 추가 기능 구현

1. UserRequestDto 추가

회원 추가 시 회원의 정보를 객체로 받아오기 위해 dto 생성

@Getter
@AllArgsConstructor // 생성자
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class UserRequestDto {

    @NotNull
    String user_id;
    @NotNull
    String user_password;
    @NotNull
    String user_name;

}

2. 파일 이름 중복되어 변경

같은 기능을 구현하여 한 사람당 개인 파일이 존재하는데, 엔티티의 이름은 같지만 패키지 이름은 달라서 상관없을 거라 생각했다.

그런데 컴파일 과정에서 이름이 겹친다는 오류가 생겨 이름이 겹치는 파일 이름에 자신의 이름을 추가하여 파일 이름을 변경했다.

https://github.com/ywoo-srin-minj/spring_study/pull/16/commits/c551e2ac9f843ef22b91dbfbc9d52dc6cfc2977f

3. Controller - post 구현

@PostMapping("/")
    public void createUser(@RequestBody UserRequestDto userRequestDto){
        userService.createUser(userRequestDto);
    }

post를 사용하기에 어노테이션 @RequestBody를 사용하여 JSON 형식의 데이터를 받는다.

4. Service - 회원 추가 메소드

@Transactional
public void createUser(UserRequestDto userRequestDto){
    User user = User.createUser(userRequestDto.getUser_id(), userRequestDto.getUser_name(), userRequestDto.getUser_password());
    userRepository.save(user);
}

아이디를 자동으로 부여해주기 위해 User 엔티티에서 userRequestDto 데이터를 가지고 엔티티를 생성해준다. 그러면 해당 엔티티에 아이디가 자동 부여되어 한 레코드가 완성 된다.