Hello

27. 회원가입을 위한 enum 사용법

by 볼빵빵오춘기

User

회원 권한에 enum을 사용할 것이기 때문에 @ColumnDefault("'user'")지운다.

// @ColumnDefault("'user'") // enum 사용으로 주석처리 또는 지운다.
private String role;

 

DummyController

user.setRole("user") 넣는다.

하지만 setRole하고 넣는 값에 String 으로 직접 개발자가 써서 넣는다면 오타를 내는 그런 실수를 할 수 있다.

따라서 Enum을 만들어서 사용하는 것이 좋다.

@PostMapping("/dummy/join")
public String join(User user){
    System.out.println("id :"+user.getId());
    System.out.println("username :"+user.getUsername());
    System.out.println("password :"+user.getPassword());
    System.out.println("email :"+user.getEmail());

    user.setRole("user");
    userRepository.save(user);
    return "회원가입이 완료되었습니다.";
}

 

RoleType

package com.cos.blog.model;

public enum RoleType {
    USER, ADMIN
}

 

User

role 변수 타입 수정한다.

@Enumerated(EnumType.STRING)
private RoleType role;

 

DummyController

User 클래스에서 role타입을 변경하였으므로 기존에 String으로 넣었던 값을 RoleType으로 넣을 수 있도록 한다.

@PostMapping("/dummy/join")
public String join(User user){
    System.out.println("id :"+user.getId());
    System.out.println("username :"+user.getUsername());
    System.out.println("password :"+user.getPassword());
    System.out.println("email :"+user.getEmail());

    user.setRole(RoleType.USER);
    userRepository.save(user);
    return "회원가입이 완료되었습니다.";
}

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기