반응형
✅ 2일차 목표 (Emotion Tracker 기준 예시)
- 회원가입 / 로그인 기능 추가 (Spring Security + OAuth2는 나중에)
- User Entity + 연관관계 설정
- 회원가입 테스트 (Postman)
- 로그인 구현 (JWT 없이 단순 구현)
- 요청 시 사용자 인증 처리
- 테스트 및 Notion 정리
✅ 2일차 주요 작업 로드맵
- UserController 만들기
- /api/users/signup : 회원가입
- /api/users/login : 로그인 (간단한 버전, JWT는 다음에)
- UserService 생성
- 회원가입 시 비밀번호 암호화(BCrypt)
- 이메일 중복 확인
- UserRepository 인터페이스 생성
- findByEmail() 메서드 추가
- Postman 테스트: 회원가입/로그인
✅ RequestDto vs ResponseDto 차이점 정리!
구분RequestDtoResponseDto
📥 언제 쓰나? | 클라이언트 → 서버 (요청할 때) | 서버 → 클라이언트 (응답할 때) |
💡 목적 | 사용자가 입력한 데이터를 서버로 전달 | 서버에서 처리한 데이터를 사용자에게 전달 |
🧩 주로 담는 정보 | 입력 폼, 로그인 정보, 회원가입 내용 등 | 결과값, 조회된 데이터, 메시지 등 |
🧱 예시 클래스 이름 | UserRequestDto, EmotionRecordRequestDto | UserResponseDto, EmotionRecordResponseDto |
💡 예시로 이해하기!
1. 클라이언트가 회원가입을 한다면?
POST /api/users { "email": "test@example.com", "password": "1234", "nickname": "홍길동" }
// ----------------------------------------------------------------------------------------
public class UserRequestDto {
private String email;
private String password;
private String nickname;
}
이걸 받는 게 UserRequestDto야! 👉 사용자가 보낸 정보를 담는 클래스!
2. 서버가 회원가입 결과를 돌려준다면?
{ "id": 1, "email": "test@example.com", "nickname": "홍길동" }
//---------------------------------------------------------------
public class UserResponseDto {
private Long id;
private String email;
private String nickname;
public UserResponseDto(User user) {
this.id = user.getId();
this.email = user.getEmail();
this.nickname = user.getNickname();
}
}
이건 UserResponseDto가 담고 보내주는 정보야! 👉 처리 결과를 클라이언트에 응답하는 클래스!
📦 결론!
- RequestDto: 사용자로부터 오는 입력값을 담는다.
- ResponseDto: 사용자에게 보내줄 출력값을 담는다.
.✏️수정 1. 현재 기분을 글자로 등록하는 형태에서 그림으로 등록하여 보자.
.✏️수정 2. 캘린더로 데이터 가지고 오도록 controller 등 수정함.
반응형