-
Notifications
You must be signed in to change notification settings - Fork 2
HTTP API Specification
LiveClass에서 사용되는 HTTP api의 목록입니다.
모든 api는 private api로, LiveClass에 가입한 유저만이 인증 후 사용할 수 있습니다.
네이버 로그인을 통해 서비스에 가입/로그인 후에 session-cookie를 이용해 인증합니다.
인증되지 않은 사용자의 요청의 경우 status code 404 (Unauthorized Request) Response를 보내면서 요청을 거부합니다.
모든 api 요청은 서버의 http://[Base Url]/api/[api endpoint]의 형태로 사용하실 수 있습니다.
-
GET
/me라고 쓰여 있는 api를 사용하고 싶으시다면http://[Base Url]/api/me로 HTTP GET request를 보내면 됩니다.
Lobby Page에서 사용되는 API들입니다.
Lobby Page에서 보일 유저가 속한 Class 목록 가져오는 api입니다.
- Request
Nothing
- Return
{
classes: // array or classes
{
uuid: string; // class uuid
title: string; // class title
subtitle: string; // class subtitle
memberType: MemberType; // student or instructor
}[];
status: number;
}새 Class를 만들 때 사용하는 api입니다.
- Request
{
title: string,
subtitle: string
}- Return
{
class:
{
uuid: string;
title: string;
subtitle: string;
memberType: MemberType.INSTRUCTOR; // instructor
};
status: number
}기존의 Class에 Join할 때 사용하는 API입니다. 이미 등록된 사용자는 등록되지 않습니다.
- Request
{
classUuid: string
}- Return
{
class:
{
uuid: string;
title: string;
subtitle: string;
memberType: MemberType.STUDENT; // student
};
status: number
}유저 본인의 정보를 가져올 때 사용되는 api입니다.
- Request
Nothing
- Return
{
userName: string;
id: number;
status: number;
}유저 인증 관련된 api들입니다.
네이버 로그인을 시도합니다. 이 엔드포인트로 요청이 들어왔을 경우 네이버 로그인 api를 이용해서 로그인하는 창으로 리다이렉트됩니다.
네이버 로그인 callback url입니다. 네이버 로그인 성공 시 이 엔드포인트로 리다이렉트되며, 다시 클라이언트 페이지로 리다이렉트됩니다. 클라이언트 사이드에서 이 엔드포인트로 명시적으로 호출해선 안됩니다.
번역 api입니다. 네이버 papago api를 호출해서 번역된 텍스트를 돌려줍니다.
현재 LiveClass에서 지원하는 언어인 영어, 한국어로만 번역할 수 있습니다.
주어진 문장의 언어를 papago language detection api로 분석한 후 영어 혹은 한국어이고 주어진 target language와 다를 경우 papago translation api를 호출해 번역합니다.
- Request
{
translateArray: string[];
target: Language; // "ko" or "en"
}- Request
{
translated:
{
result: string;
status: number;
}[];
status: number