본문 바로가기

포트폴리오 만들기/spring boot, jpa emo 기록하기

2, 3일차

반응형

✅ 2일차 목표 (Emotion Tracker 기준 예시)

  1. 회원가입 / 로그인 기능 추가 (Spring Security + OAuth2는 나중에)
  2. User Entity + 연관관계 설정
  3. 회원가입 테스트 (Postman)
  4. 로그인 구현 (JWT 없이 단순 구현)
  5. 요청 시 사용자 인증 처리
  6. 테스트 및 Notion 정리

 

✅ 2일차 주요 작업 로드맵

  1. UserController 만들기
    • /api/users/signup : 회원가입
    • /api/users/login : 로그인 (간단한 버전, JWT는 다음에)
  2. UserService 생성
    • 회원가입 시 비밀번호 암호화(BCrypt)
    • 이메일 중복 확인
  3. UserRepository 인터페이스 생성
    • findByEmail() 메서드 추가
  4. 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 등 수정함.  

 

 

반응형

'포트폴리오 만들기 > spring boot, jpa emo 기록하기' 카테고리의 다른 글

7, 8, 9일차  (0) 2025.04.20
6일차  (0) 2025.04.19
4, 5일차  (1) 2025.04.19
플랜  (0) 2025.04.14
1일차  (0) 2025.04.14