일친 (IlChin) - API 명세서 작성

no.oneho·2025년 5월 31일
0

일친 개발기

목록 보기
12/17

그룹웨어 MVP API 리스트

1. 회원관리 (회원 등록, 조회, 수정, 삭제)

엔드포인트메서드요청 데이터응답 예시설명비고
/api/loginPOST{ "username": ..., "password": ... }{ "token": ... }로그인 후 JWT 토큰 발급
/api/usersPOST{ "username": ..., "password": ... }성공 메시지 또는 유저 상세회원 등록
/api/users/meGET-내 정보 상세내 정보 조회
/api/users/{id}PATCH{ "fullName": ..., "phone": ... }수정 완료 메시지회원 정보 수정이름, 핸드폰, 이메일 수정가능, 관리자, 부서 팀장일 경우 타인의 회원 정보 수정 가능
/api/users/{id}GET-회원 상세 정보특정 회원 정보 조회관리자나 해당 부서 팀장만 타인의 상세 정보 조회 가능
api/users/passwordPATCH{"password": ..., "confirmPassword": ...}패스워드 변경 완료
/api/users/{id}DELETE-삭제 성공회원 삭제소프트딜리트, 관리자 권한, 부서 팀장만 사용 가능
/api/usersGET{"pageSize": ..., "pageNumber": ..., "departmet": ..., "sortType": ..., "searchType": ..., "searchType": ...}회원 리스트회원 리스트 조회관리자 권한 일 경우 모든 회원 정보및 부서별 조회 가능, 그 외 본인의 부서 소속 회원만 조회 가능
/api/users/{id}/rolePATCH{"role": ...}변경 성공회원 권한 변경{ADMIN, MEMBER, GUEST}, 관리자 권한만 사용 가능

2. 부서 관리

엔드포인트메서드요청 데이터응답 예시설명비고
/api/departmentsPOST{ "name": ..., "description": ... }부서 생성 데이터부서 생성
/api/departmentsGET{ "name": ..., "description": ... }부서 조회 데이터부서 리스트 조회
/api/departments/{id}GET{ "name": ..., "description": ... }부서 조회 데이터부서 조회
/api/departments/{id}PATCH{ "name": ..., "description": ... }부서 수정 데이터부서 수정
/api/departments/{id}DELETE{ "name": ..., "description": ... }부서 삭제 데이터부서 삭제

3. 프로젝트 관리

엔드포인트메서드요청 데이터응답 예시설명비고
/api/projectsPOST{ "name": ..., "description": ... }프로젝트 생성 데이터프로젝트 생성
/api/projectsGET-참여중인 프로젝트 목록내 프로젝트 리스트 조회관리자 권한일 시 전체 조회
/api/projects/{id}GET-프로젝트 상세단일 프로젝트 상세 조회
/api/projects/{id}PUT{ "name": ..., "description": ... }수정 메시지프로젝트 수정
/api/projects/{id}DELETE-삭제 성공 메시지프로젝트 삭제

4. 프로젝트 멤버 및 태스크

엔드포인트메서드요청 데이터응답 예시설명
/api/projects/{id}/membersGET-멤버 목록프로젝트 멤버 조회
/api/projects/{id}/membersPOST{ "userId": ..., "role": ... }추가 메시지멤버 초대/추가
/api/tasksPOST{ "projectId": ..., "title": ..., "assigneeId": ... }태스크 생성태스크 생성
/api/tasksGET?projectId=...태스크 목록태스크 조회
/api/tasks/{id}PUT{ "status": ... }업데이트 메시지태스크 상태 변경
/api/tasks/{id}DELETE-삭제 성공태스크 삭제

5. 댓글 및 파일 업로드

엔드포인트메서드요청 데이터응답 예시설명
/api/commentsPOST{ "target": "task/issue/etc", "targetId": ..., "content": ... }댓글 등록댓글 작성
/api/files/uploadPOST(multipart/form-data)업로드 성공문서 업로드

6. 알림 및 기타

엔드포인트메서드요청 헤더/파라미터응답 예시설명
/api/notificationsGET인증 헤더알림 리스트내 알림 조회

※ 참고: 추가 설계 예정.

profile
이렇게 짜면 요구사항이나 기획이 변경됐을 때 불편하지 않을까? 라는 생각부터 시작해 설계를 해나가는 개발자

0개의 댓글