node.js

2025-04-09 익스프레스 실습(로그인, 회원가입)

웹개발자지망생 2025. 4. 9. 17:27

mock-example 서버 구조  유저 API 기능 설명과 설정 방법 정리입니다.


✅ 전체 유저 API 기능 요약

메서드엔드포인트설명

 

GET /user/list 유저 전체 조회
POST /user/register 유저 등록 (회원가입)
POST /user/login 유저 로그인
GET /user/auth 로그인 상태 확인
POST /user/logout 유저 로그아웃
GET /user/:id 특정 유저 상세 조회
PUT /user/:id 유저 정보 수정
PUT /user/password/:id 유저 비밀번호 변경
DELETE /user/:id 유저 삭제

 

🔧 기능별 상세 설명 및 세팅 방법

1. ✅ 유저 전체 조회

  • Endpoint: GET /user/list
  • 설명: 모든 유저 정보 배열 반환
  • 요구사항: 토큰 인증 필요 시 Authorization 헤더에 JWT 추가

2. 📝 유저 등록 (회원가입)

  • Endpoint: POST /user/register
  • Body (JSON)
{
  "username": "test0",
  "email": "test1@example.com",
  "password": "1234",
  "name": "test0",
  "age": 28,
  "role": "admin"
}

 

3. 🔐 유저 로그인

  • Endpoint: POST /user/login
  • Body (JSON)
{
  "email": "test1@example.com",
  "password": "1234"
}

 

  • Response: 토큰 + 유저 정보 반환

4. 🔍 로그인 확인

  • Endpoint: GET /user/auth
  • 헤더: Authorization: Bearer <token>
  • 설명: 현재 로그인한 유저 정보 확인

 

5. 🚪 유저 로그아웃

  • Endpoint: POST /user/logout
  • 설명: 세션이나 토큰 만료 처리 (클라이언트 쪽에서는 토큰 삭제)

 

6. 🔎 유저 상세 조회

  • Endpoint: GET /user/:id
  • 설명: 특정 유저 ID로 유저 정보 반환

7. ✏️ 유저 정보 수정

  • Endpoint: PUT /user/:id
  • Body 예시
{
  "name": "newName",
  "age": 30,
  "role": "user",
  "isActive": true
}

 

 

 

8. 🔑 비밀번호 변경

  • Endpoint: PUT /user/password/:id
  • Body 예시
{
  "password": "newPassword"
}

9. 🗑️ 유저 삭제

  • Endpoint: DELETE /user/:id
  • 설명: 해당 ID의 유저를 삭제

🛠️ 사용 환경 구성 방법

  1. 백엔드 실행 
    • .env 파일에 포트 설정 (예: PORT=3000)
    • JWT_SECRET 등 환경변수도 설정 필요
cd mock-example
npm install
npm run dev
  1. bash
    코드 복사
    cd mock-example npm install npm run dev
  2. Postman 설정
    • {{host}} = http://localhost
    • {{port}} = 3000
    • 필요 시 환경(Environment) 생성 후 변수 등록
  3. 테스트 흐름 예시
    • POST /user/register → 회원가입
    • POST /user/login → 토큰 발급
    • GET /user/auth → 토큰 인증 테스트
    • 이후 토큰 포함하여 나머지 API 테스트