Skip to content

[FE] 이력서 관리 기능 화면 구현 #6

Description

@jiva-z

기능 설명

  • 사용자의 이력서를 생성, 조회, 수정, 삭제하는 기능을 구현합니다.
  • JWT 토큰을 사용한 인증이 필요합니다.

API 엔드포인트

1. 이력서 생성 (POST)

  • URL: /api/resumes
  • Headers:
    • Content-Type: application/json
    • Authorization: Bearer {JWT_TOKEN}
  • Request Body:
    {
        "resumeText": "이력서 내용..."
    }
  • Response (성공):
    {
        "resumeId": 1,
        "resumeText": "이력서 내용...",
        "userName": "사용자 이름"
    }
  • Response (에러):
    {
        "status": 400,
        "message": "이미 이력서가 존재합니다"
    }

2. 이력서 조회 (GET)

  • URL: /api/resumes
  • Headers:
    • Authorization: Bearer {JWT_TOKEN}
  • Response (성공):
    {
        "resumeId": 1,
        "resumeText": "이력서 내용...",
        "userName": "사용자 이름"
    }
  • Response (에러):
    {
        "status": 404,
        "message": "이력서를 찾을 수 없습니다"
    }

3. 이력서 수정 (PUT)

  • URL: /api/resumes
  • Headers:
    • Content-Type: application/json
    • Authorization: Bearer {JWT_TOKEN}
  • Request Body:
    {
        "resumeText": "수정된 이력서 내용..."
    }
  • Response (성공):
    {
        "resumeId": 1,
        "resumeText": "수정된 이력서 내용...",
        "userName": "사용자 이름"
    }
  • Response (에러):
    {
        "status": 404,
        "message": "이력서를 찾을 수 없습니다"
    }

4. 이력서 삭제 (DELETE)

  • URL: /api/resumes
  • Headers:
    • Authorization: Bearer {JWT_TOKEN}
  • Response (성공):
    {
        "message": "이력서가 성공적으로 삭제되었습니다"
    }
  • Response (에러):
    {
        "status": 404,
        "message": "이력서를 찾을 수 없습니다"
    }

구현해야 할 사항

  1. 이력서 관리 페이지 컴포넌트 생성
  2. API 연동을 위한 서비스 함수 구현
  3. 이력서 CRUD 기능 구현
  4. 에러 처리 및 사용자 피드백 구현
  5. 로딩 상태 관리
  6. 입력 폼 유효성 검사

참고사항

  • API 호출 시 에러 처리는 공통 에러 핸들러 사용
  • 이력서 텍스트는 1000자 제한

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions