[Dimelo Project] REST API 설계

Suyeon Pi·2022년 1월 6일
0

Dimelo

목록 보기
2/22
post-custom-banner

DB 설계를 대략 마쳤으니 이제 대략적인 API설계를 해보자!
크게 users, courses, reviews, talks, studies, projects가 있다.

users

Methodurl기능
POST/users/signup회원가입
POST/users/login로그인
POST/users/logout로그아웃
POST/users/check/email이메일 중복 조회
POST/users/check/nickname닉네임 중복 조회
GET/users/me내 정보 조회
PATCH/users/me내 프로필 편집
DELETE/users/me회원 탈퇴
POST/users/password비밀번호 찾기
PATCH/users/password비밀번호 변경
GET/users/:id해당 회원 정보 가져오기

courses

Methodurl기능
GET/courses/:id해당 강의 정보 받아오기
GET/courses리뷰 받아오기 (리뷰 많은 순 16개)?perPage=&page=
GET/courses?big=강의들 받아오기?perPage=&page=
GET/courses?small=강의들 받아오기?perPage=&page=
GET/courses?skill=강의들 받아오기?perPage=&page=
GET/courses/search?keyword=해당 강의 검색
POST/courses/likes/:id해당 강의 북마크
DELETE/courses/likes/:id해당 강의 북마크 해제
GET/courses/likes/me내가 북마크 한 강의들 가져오기
GET/courses/likes/users/:id해당 유저가 북마크한 강의들 가져오기?
GET/courses/instructors/:id해당 강사의 강의들 받아오기
POST/courses강의 추가admin
PATCH/courses/:id해당 강의 정보 수정admin
DELETE/courses/:id해당 강의 삭제admin

reviews

Methodurl기능
GET/reviews/:course_id해당 강의의 모든 리뷰 받아오기 (6개)
POST/reviews/:course_id리뷰작성
PATCH/reviews/:course_id/:id해당 리뷰 수정
DELETE/reviews/:course_id/:id해당 리뷰 삭제
GET/reviews/instructors/:id해당 강사의 강의 리뷰 받아오기 (6개)
GET/reviews/me내가 쓴 리뷰 받아오기
GET/reviews/users/:user_id해당 유저가 쓴 리뷰 받아오기
POST/reviews/helped/:id해당 리뷰에 도움됨 누르기
DELETE/reviews/helped/:id해당 리뷰에 도움됨 취소

talks

Methodurl기능
GET/talks모든 게시글 가져오기
GET/talks?category=해당 카테고리 글 가져오기
GET/talks/:id해당 게시글 가져오기
POST/talks게시글 작성
PATCH/talks/:id해당 게시글 수정
DELETE/talks/:id해당 게시글 삭제
GET/talks/search?keyword=게시글 검색
GET/talks/:talk_id/comments해당 게시글 댓글 받아오기
POST/talks/:talk_id/comments해당 게시글 댓글 작성
PATCH/talks/:talk_id/comments/:id해당 게시글 댓글 수정
DELETE/talks/:talk_id/comments/:id해당 게시글 댓글 삭제

studies

Methodurl기능
GET/studies모든 스터디 가져오기
GET/studies?skill=해당 스킬 스터디 가져오기
GET/studies?ongoing=모집중인 스터디 가져오기
GET/studies/:id해당 스터디글 가져오기
POST/studies스터디 글 작성
PATCH/studies/:id스터디 수정
DELETE/studies/:id스터디 삭제
GET/studies/:study_id/comments해당 스터디 댓글 받아오기
POST/studies/:study_id/comments해당 스터디 댓글 작성
PATCH/studies/:study_id/comments/:id해당 스터디 댓글 수정
DELETE/studies/:study_id/comments/:id해당 스터디 댓글 삭제

projects

Methodurl기능
GET/projects모든 프로젝트 가져오기
GET/projects?position=해당 포지션 프로젝트 가져오기
GET/projects?skill=해당 스킬 프로젝트 가져오기
GET/projects?ongoing=모집중인 프로젝트 가져오기
POST/projects프로젝트 글 작성
PATCH/projects/:id프로젝트 글 수정
DELETE/projects/:id프로젝트 글 삭제
GET/projects/:project_id/comments해당 프로젝트 댓글 받아오기
POST/projects/:project_id/comments해당 프로젝트 댓글 작성
PATCH/projects/:project_id/comments/:id해당 프로젝트 댓글 수정
DELETE/projects/:project_id/comments/:id해당 프로젝트 댓글 삭제
profile
Stay hungry, Stay foolish!
post-custom-banner

0개의 댓글