console.log

[설계] API 명세서 본문

프로젝트/싸리질러

[설계] API 명세서

foresight 2023. 9. 4. 20:57
완료 / 사용X / 테스트전
/api/v1 기능명 요청 파라미터 반환값 완료여부
메서드 URL 위치 속성 데이터 타입 설명 위치 속성 데이터 타입 설명
프로필
/profile
프로필 등록(요청X) POST body profileId string 프로필 ID = 사용자 ID (PK) O
body nickname string 닉네임
body image string 프로필이미지
프로필 정보 GET header userId string 사용자 ID PK) body nickname string 닉네임 O
body image string 프로필이미지
body eco double 에코
body volume double 볼륨
프로필 수정 PUT body nickname 닉네임 O
body eco double 에코
body volume double 볼륨
프로필 중복검사 GET /check/{nickname} query nickname string 닉네임 boolean true : 닉네임 사용 가능
false : 닉네임 사용 불가
O
SSE
/SSE
(8060)
SSE 연결 GET /sse query nickname string 닉네임 body data text/event-stream SseEmitter O
body args object 인자
type string 타입 (connection)
친구 요청 알림 (받는 사용자) (요청 X) body args object 인자 O
type string 타입 (request)
fromUserId string 보낸 사람 ID (PK)
toUserId string 받는 사람 ID (PK)
body friendId long 친구 ID {PK) O
body fromUserNickname string 친구 요청을 보낸 사용자 닉네임
친구 초대 알림 (받는 사용자) (요청 X) body args object 인자 O
type string 타입 (invite)
fromUserId string 보낸 사람 ID (PK)
toUserId string 받는 사람 ID (PK)
body fromUserNickname string 친구 초대를 받은 사용자 닉네임
body sessionId string 세션 ID
친구 알림
/friend
(8060)
친구 요청 알림 (보낸 사용자) POST /request body fromUserNickname string 친구 요청을 보낸 사용자 닉네임 O
body toUserNickname string 친구 요청을 받은 사용자 닉네임
body friendId long 친구 ID {PK)
친구 초대 알림 (보낸 사용자) POST /invite body fromUserNickname string 친구 초대를 보낸 사용자 닉네임 O
body toUserNickname string 친구 초대를 받은 사용자 닉네임
body sessionId string 세션 ID
친구
/friend
친구 찾기 목록 GET query nickname string 사용자 닉네임 body nickname string 사용자 닉네임 O
body image string 사용자 프로필 이미지
내 친구 목록 GET /my query nickname string 사용자 닉네임 body friendId long 친구 ID (PK) O
body nickname string 친구 닉네임
body image string 친구 프로필이미지
body status string W : 요청 상태
A : 친구 상태
친구 요청 POST body fromUserNickname string 친구 요청을 보낸 사용자 닉네임 body long 친구 ID (PK) O
body toUserNickname string 친구 요청을 받은 사용자 닉네임
친구 수락/취소 PUT body friendId long 친구 ID {PK) O
body status string A : 친구 수락
X : 친구 거절/취소
노래
/song
노래 목록 GET body songId long 노래 ID (PK) O
body title string 제목
body singer string 가수
body album string 앨범명
body image string 이미지
body releaseDate string (0000-00-00) 발매일자
노래 상세 목록 GET /detail body songId long 노래 ID (PK) O
body title string 제목
body singer string 가수
body album string 앨범명
body image string 이미지
body file string 노래 파일
body time string (00:00:00) 시간
body releaseDate string (0000-00-00) 발매일자
body note string 시간음정 JSON
body lyricsList list 가사 목록
lyricsId long 가사 ID (PK)
verse string 한소절
time string (00:00:00) 소절 시작 시간
노래 상세 정보 GET /detail/{songId} query songId long 노래 ID (PK) body songId long 노래 ID (PK) O
body title string 제목
body singer string 가수
body album string 앨범명
body image string 이미지
body file string 노래 파일
body time string (00:00:00) 시간
body releaseDate string (0000-00-00) 발매일자
body note string 시간음정 JSON
body lyricsList list 가사 목록
lyricsId long 가사 ID (PK)
verse string 한소절
time string (00:00:00) 소절 시작 시간
내 애창곡 목록 GET /my header userId string 사용자 ID (PK) body songId long 노래 ID (PK) O
body title string 제목
body singer string 가수
body album string 앨범명
body image string 이미지
body releaseDate string (0000-00-00) 발매일자
애창곡 등록/삭제 POST /my header userId string 사용자 ID (PK) O
body songId long 노래 ID (PK)
body isLike string Y : 좋아요
N : 좋아요 취소
사용자 노래
/singing
사용자 노래 저장 POST header userId string 사용자 ID (PK) O
body songId long 노래 ID (PK)
body mode N : 일반
P : 퍼펙트스코어
O : 가사순서맞추기
R : 이어부르기
body score int 점수
body totalSingingTime string (00:00:00) 총 노래 부른 시간
녹화
/recording
내 녹화 목록 GET /my header userId string 사용자 ID (PK) body recordingId long 녹화 ID (PK) O
body title string 제목
body singer string 가수
body file string 녹화 파일
body registerDate
string (0000-00-00 00:00:00)
등록 일시
body status string V : 노출
D : 삭제
S : 공유(노래자랑에 올라감)
녹화 저장 POST header userId string 사용자 ID (PK) O
body songId long 노래 ID (PK)
body file file 녹화 파일
녹화 삭제 DELETE /{recordingId} query recordingId long 녹화 ID (PK) O
노래자랑
/singing-contest
노래자랑 목록 GET header userId string 사용자 ID (PK) body singingContestId long 노래 자랑 ID (PK) O
body nickname string 사용자 닉네임
body title string 제목
body singer string 가수
body file string 녹화 파일
body likeCount long 게시글 좋아요 개수
body isLike boolean 사용자 좋아요 여부
body image string 프로필이미지
body registerDate
string (0000-00-00 00:00:00)
등록 일시
내 노래자랑 목록 GET /my header userId string 사용자 ID (PK) body singingContestId long 노래 자랑 ID (PK) O
body title string 제목
body singer string 가수
body file string 녹화 파일
body likeCount long 게시글 좋아요 개수
body like(isLike) boolean 사용자 좋아요 여부
body registerDate
string (0000-00-00 00:00:00)
등록 일시
노래자랑 등록 POST /{recordingId} query recordingId long 녹화 ID (PK) O
노래자랑 삭제/신고 PUT body singingContestId long 노래자랑 ID (PK) O
body status string D : 삭제
B : 신고
노래자랑 좋아요/취소 POST /like header userId string 사용자 ID (PK) body likeCount long 게시글 좋아요 수 O
body singingContestId long 노래자랑 ID (PK)
body isLike string Y : 좋아요
N : 좋아요 취소
노래 설정
/song-setting
내 노래 설정 GET /my header userId string 사용자 ID (PK) body eco double 에코 O
body volume double 음량
노래 설정 수정 PUT header songSettingId string 노래 설정 ID = 사용자 ID (PK) O
body eco double 에코
body volume double 음량
노래방
/room
방 목록 GET body sessionId string 노래 자랑 ID (PK) O
body title string 방제
body mode string N : 일반노래방
P : 퍼펙트싱어
O : 가사맞추기
R : 이어부르기
body userMaxCount int 최대 인원수
body userCount int 현재 인원수
body isPublic string Y : 공개방
N : 비공개방
body password string 비밀번호
방 정보 GET /{sessionId} query sessionId string 세션 ID body userId string 방장 ID (PK) O
body title string 방제
body mode string N : 일반노래방
P : 퍼펙트싱어
O : 가사맞추기
R : 이어부르기
body userMaxCount int 최대 인원수
body isPublic string Y : 공개방
N : 비공개방
body password string 비밀번호
body userList list<string> 사용자 목록
세션 초기화 POST /session body sessionId string 세션 ID O
방 생성 POST /connection/{sessionId}/host header userId string 사용자 ID (PK) body token string 토큰 O
query sessionId string 세션 ID
body title string 방제
body mode string N : 일반노래방
P : 퍼펙트싱어
O : 가사맞추기
R : 이어부르기
body userMaxCount int 최대 인원수
body isPublic string Y : 공개방
N : 비공개방
body password string 비밀번호
방 입장 POST /connection/{sessionId} header userId string 사용자 ID (PK) body token string 토큰 (null이면 비밀번호 오류) O
query sessionId string 세션 ID
body password string 비밀번호 (공개방이면 null)
방 퇴장 PUT /out/{sessionId} header userId string 사용자 ID (PK) O
query sessionId string 세션 ID
방 삭제 DELETE /{sessionId} query sessionId string 세션 ID O
방 수정 PUT /{sessionId} query sessionId string 세션 ID O
body title string 방제
body mode string N : 일반노래방
P : 퍼펙트싱어
O : 가사맞추기
R : 이어부르기
body userMaxCount int 최대 인원수
body isPublic string Y : 공개방
N : 비공개방
body password string 비밀번호
예약
/reservation
노래 목록 GET /{sessionId} query sessionId string 세션 ID body userId string 사용자 ID (PK) O
body sessionId string 세션 ID (PK)
body songId long 노래 ID (PK)
body isPriority string Y : 우선예약
N : 일반예약
노래 예약 POST header userId string 사용자 ID (PK) O
body sessionId string 세션 ID (PK)
body songId long 노래 ID (PK)
body isPriority string Y : 우선예약
N : 일반예약
예약 취소 DELETE header userId string 사용자 ID (PK) O
body sessionId string 세션 ID (PK)
body songId long 노래 ID (PK)
노래 시작 POST /sing header userId string 사용자 ID (PK) O
body songId long 노래 ID (PK)
노래 취소 DELETE /sing header userId string 사용자 ID (PK) O
body songId long 노래 ID (PK)
body time long 노래 재생된 시간 (sec)
랭킹
/ranking
랭킹 목록
/daily : 일간(어제 기준)
/weekly 주간(지난 주 월~일)
/monthly 월간(지난 달 1일~말일)
GET /daily
/weekly
/monthly
header (필수 X) userId string 로그인 시 토큰에서 꺼내는 값 body rankingList list 랭킹 목록 Top100 O
ranking int 노래 순위
songId long 노래 ID
title string 노래 제목
singer string 가수
album string 앨범 제목
favoriteSong boolean 애창곡 여부
image string 앨범 이미지(경로)

'프로젝트 > 싸리질러' 카테고리의 다른 글

[개발] 코딩 컨벤션  (0) 2023.09.09
[설계] 시스템 아키텍쳐  (0) 2023.09.09
[설계] 시퀀스 다이어그램  (0) 2023.09.04
[설계] Database  (0) 2023.09.04
[설계] 프로토타입  (0) 2023.09.03