Skip to content

API 명세

Ryou_Changyu edited this page Oct 27, 2020 · 1 revision
  • 유저

    1. 유저 로그인
      • req uri: POST /api/user/login
      • req: {userId, password}
      • res: {success, userId, token}
    2. 유저 로그인 (GitHub)
      • req uri: POST /api/user/login
      • req: {userId, password}
      • res: {success, userId, token}
    3. 유저 회원 가입
      • req uri: POST /api/user/register
      • req: {userId, password, profilePic}
      • res: {success}
    4. 전체 유저 조회 (asignees)
      • req uri: GET /api/user
      • res: {success, users:[{userId, profilePic}]}
  • 이슈

    1. 모든 이슈 조회
      • req uri: GET /api/issue
      • res: {success, issues:[{모든 정보}]}
    2. 이슈 상세 페이지 조회
      • req uri: GET /api/issue/:issueId
      • res: {success, issue, comment}
    3. 새로운 이슈 생성
      • req uri: POST /api/issue
      • req: {title, authorId, description, createDate, milestoneId, assignees: [], labels: []}
      • res: {success}
    4. 이슈 수정 - 제목
      • req uri: PUT /api/issue/title
      • req: {issueId, title, authorId, createDate}
      • res: {success}
    5. 이슈 수정 - 내용
      • req uri: PUT /api/issue/description
      • req: {issueId, authorId, description, createDate}
      • res: {success}
    6. 이슈 삭제
      • req uri: DELETE /api/issue
      • req: {issueId}
      • res: {success}
    7. 이슈의 status (open / close) 변경
      • req uri: PUT /api/issue/status
      • req: {issueId, userId, newStatus, createDate}
      • res: {success}
    8. 이슈에 라벨 추가
      • req uri: POST /api/issue/label
      • req: {issueId, labelId}
      • res: {success}
    9. 이슈에 담당자 추가
      • req uri: POST /api/issue/assignee
      • req: {issueId, assigneeId}
      • res: {success}
    10. 이슈에 마일스톤 추가
      • req uri: PUT /api/issue/milestone
      • req: {issueId, milestoneId}
      • res: {success}
  • 코멘트

    1. 이슈에 코멘트 작성
      • req uri: POST /api/comment
      • req: {commentorId, issueId, content, createDate}
      • res: {success}
    2. 코멘트 수정
      • req uri: PUT /api/comment
      • req: {commentorId, issueId, content, createDate}
      • res: {success}
  • 라벨

    1. 전체 라벨 조회

      • req uri: GET /api/label
      • res: {success, labels:[{모든 라벨}]}
    2. 새로운 라벨 생성

      • req uri: POST /api/label
      • req: {name, description, color}
      • res: {success}
    3. 라벨 수정

      • req uri: PUT /api/label
      • req: {name, description, color}
      • res: {success}
    4. 라벨 삭제

      • req uri: DELETE /api/label
      • req: {labelId}
      • res: {success}
  • 마일스톤

    1. 전체 마일스톤 조회
      • req uri: GET /api/milestone
      • res: {success, milestones:[{모든 마일스톤}]}
    2. 새로운 마일스톤 작성
      • req uri: POST /api/milestone
      • req: {title, description, dueDate}
      • res: {success}
    3. 마일스톤 수정
      • req uri: PUT /api/milestone
      • req: {title, description, dueDate}
      • res: {success}
    4. 마일스톤 삭제
      • req uri: DELETE /api/milestone
      • req: {milestoneId}
      • res: {success}
    5. 마일스톤의 status (open/close) 변경
      • req uri: PUT /api/milestone/status
      • req: {milestoneId, newStatus}
      • res: {success}

    API 서버 규칙

    • router, controller, DAO사용하기
    • sequelize사용하기