Skip to content

[BE] 자소서 업로드 #6

Description

@KK-Hoon

이력서(Resume) 기능 정리

1. 데이터 구조

@Entity
@Table(name = "resume")
public class Resume {
    @Id
    private Long resumeId;
    
    @ManyToOne
    @JoinColumn(name = "user_id")
    private User user;
    
    @Column(name = "resume_text", length = 2000)
    private String resumeText;
}

2. API 엔드포인트

  • 이력서 생성: POST /resumes
  • 이력서 조회: GET /resumes
  • 이력서 수정: PUT /resumes
  • 이력서 삭제: DELETE /resumes
  • 특정 이력서 조회: GET /resumes/{resumeId}

3. 주요 기능

  • 이력서 작성/수정/삭제
  • 이력서 조회
  • 매칭 활성화된 이력서 목록 조회
  • 사용자별 이력서 조회

4. 제약사항

  • 이력서 텍스트는 최대 2000자
  • 한 사용자당 하나의 이력서만 생성 가능
  • 이력서는 반드시 사용자와 연결되어야 함

5. 관련 기능

  • 이력서를 통한 채용 지원
  • AI 매칭 시스템과 연동
  • 매칭 활성화/비활성화 기능

6. 보안

  • 사용자는 자신의 이력서만 수정/삭제 가능
  • 이력서 조회는 권한에 따라 제한

7. 예시 요청/응답

이력서 생성

// POST /resumes
{
    "resumeText": "이력서 내용..."
}

// 응답
{
    "resumeId": 1,
    "resumeText": "이력서 내용...",
    "userId": 1,
    "userName": "홍길동"
}

이력서 조회

// GET /resumes
{
    "resumeId": 1,
    "resumeText": "이력서 내용...",
    "userId": 1,
    "userName": "홍길동"
}

8. 에러 처리

  • 이력서가 이미 존재하는 경우: 409 Conflict
  • 이력서를 찾을 수 없는 경우: 404 Not Found
  • 권한이 없는 경우: 403 Forbidden
  • 잘못된 요청: 400 Bad Request

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