Skip to content

Instantly share code, notes, and snippets.

@LeoHeo
Last active July 21, 2016 00:45
Show Gist options
  • Save LeoHeo/c698ab648224f8a60b639ddfb139c2b2 to your computer and use it in GitHub Desktop.
Save LeoHeo/c698ab648224f8a60b639ddfb139c2b2 to your computer and use it in GitHub Desktop.
  1. https://hoomi.work/api/signup/ 주소로 username(email), password, first_name, last_name을 담아서 POST 전송
  • 이미 가입된 유저일 경우 status code 401 UNAUTHORIZED response
  • 그렇지 않을 경우 status code 201 CREATED response
  1. https://hoomi.work/api/login/username(email), password 담아서 POST 전송
    • Response status code 값이 200 OK이면 login성공 JWT token값 클라이언트에서 보관
    • 그 외의 값일 경우 회원이 아니기 때문에 회원가입

Social 회원가입 & 로그인(https://hoomi.work/api/oauth/facebook/)

  1. https://hoomi.work/api/oauth/facebook/access_token POST 전송
  • Provider 가 facebook이 아닐경우 status code 406 NOT ACCEPTABLE response
  • facebook token이 유효하지 않으면 401 UNAUTHORIZED response
  • 기존회원인데 소셜회원가입 한 사람이 아니면 401 UNAUTHORIZED response
  • 회원가입 또는 로그인 성공시 status code 201 CREATED response JWT token값 클라이언트에서 보관

목록(임시 인기글) 불러오기

  • https://hoomi.work/api/job-history/로 Header에 Authorization 값에 JWT Token을 실어서 전송
  • 메인페이지에서 4개만 보여주기 위해서 https://hoomi.work/api/job-history/?per=4로 전송

상세페이지(detail) 불러오기

  • https://hoomi.work/api/job-history/<hash_id>/로 Header에 Authorization 값에 JWT Token을 실어서 전송
    • 존재하지 않는 hash_id일 경우 404_NOT_FOUND response
    • 존재할 경우 1페이지 씩 pagination된 API response
    • 오른쪽 swipe next에 있는 주소로 이동
    • 왼쪽 swipe previous에 있는 주소로 이동

Mypage

  1. 회원정보 가져오기
  • https://hoomi.work/api/mypage/로 Header에 Authorization 값에 JWT Token을 실어서 전송
  • first_name, last_name, job, username(email), theme, hash_id, experiences response
  • 각 theme에 대한 상세보기는 https://hoomi.work/api/job-history/<hash_id>로 Header에 Authorization 값에 JWT Token을 실어서 전송
  1. Job 바꾸기
  • https://hoomi.work/api/mypage/로 Header에 Authorization 값에 JWT Token을 실어서 Patch 전송
  • username, job response
  • 해당하는 job이 없으면 HTTP_404_NOT_FOUND response

job-history Create(Post 전송)

  • https://hoomi.work/api/job-history/로 Header에 Authorization 값에 JWT Token을 실어야 한다.
  • theme를 Post 로 보낸다.

Success

  • status_code HTTP_201_CREATED response

Fail

  • 이미 존재하는 page를 업로드시 HTTP_400_BAD_REQUEST response

job-history Update(Patch 전송)

  • 수정이나 삭제는 본인 게시물만 수정 삭제가 가능하다.
  • https://hoomi.work/api/job-history/<hash_id>/로 Header에 Authorization 값에 JWT Token을 실어야 한다.
  • job-history에서 update할 수 있는 항목은 theme만 변경이 가능하다.

Suceess

  • status_code HTTP_200_OK response
  • 입력한 데이터 response

Fail

  • 해당게시글이 존재하지 않을경우 HTTP_404_NOT_FOUND response

job-history Delete(Delete 전송)

  • 수정이나 삭제는 본인 게시물만 수정 삭제가 가능하다.
  • https://hoomi.work/api/job-history/<hash_id>/로 Header에 Authorization 값에 JWT Token을 실어야 한다.
  • Parent job-history를 삭제하면 child Experience들도 같이 삭제

Suceess

  • status_code HTTP_204_NO_CONTENT response

Fail

  • 해당게시글이 존재하지 않을경우 HTTP_404_NOT_FOUND response

Experience Create(Post 전송)

  • parent job-history의 child experience를 추가하고자 할때 사용
  • https://hoomi.work/api/job-history/<hash_id>/로 Header에 Authorization 값에 JWT Token을 실어야 한다.
  • image, content, page 를 Post 로 보낸다.

Success

  • status_code HTTP_201_CREATED response

Fail

  • image를 업로드 안했을경우 HTTP_400_BAD_REQUEST response
  • 필수 필드 image, content, page를 안보냈을 경우 HTTP_404_NOT_FOUND response
  • 해당게시글이 존재하지 않을경우 HTTP_404_NOT_FOUND response

Experience Update(Patch 전송)

  • parent job-history의 child experience를 수정하고자 할때 사용
  • https://hoomi.work/api/job-history/<hash_id>/<id>로 Header에 Authorization 값에 JWT Token을 실어야 한다.
  • image, content, page 3개 전부여도 되고 1개만 보내도 되고 Post 로 보낸다.

Success

  • status_code HTTP_200_OK response
  • 입력한 데이터 response

Fail

  • image를 업로드 안했을경우 HTTP_400_BAD_REQUEST response
  • 해당게시글이 존재하지 않을경우 HTTP_404_NOT_FOUND response

Experience Delete(Delete 전송)

  • parent job-history의 child experience를 삭제하고자 할떼 사용
  • https://hoomi.work/api/job-history/<hash_id>/<id>로 Header에 Authorization 값에 JWT Token을 실어야 한다.

Success

  • status_code HTTP_204_NO_CONTENT response

Fail

  • 해당게시글이 존재하지 않을경우 HTTP_404_NOT_FOUND response
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment