Skip to content

API 명세

강성준 edited this page Nov 23, 2022 · 30 revisions

😀 User

로그인

  • 소셜 로그인
  • GET /user/login?social=${'naver' | 'kakao' | 'google'}로 해당 페이지로 이동 후 인증 진행.
  • Redirection 문제 때문에 axios 가 아닌 anchor 태그 사용 권장.
  • 쿠키에 accessToken 식으로 jwt 토큰 생성.
  • DB 확인 후 미가입자 인 경우 signup 페이지로 이동.

회원가입

  • jwt payload 확인 및 재생성

    요청

    • POST /user 로 signupData 객체 전송 필수,
    {
       signupData : {
          nickname : string
          characterName : string
       }
    }
    

    응답

    • 성공 (200)
    "회원가입 완료!!"
    
    • 실패 (400)
    {
        "statusCode": 400,
        "message": [
            "특수문자는 불가합니다.",
            "nickname must be shorter than or equal to 12 characters",
            "nickname must be longer than or equal to 4 characters",
            "nickname must be a string",
            "nickname should not be empty",
            "characterName must be a string",
            "characterName should not be empty"
        ],
        "error": "Bad Request"
    }
    

로그아웃

  • GET /user/logout 요청 시 AccessToken 만료.

    요청

    • GET /user/logout

    응답

    • 성공 (200)
    "로그아웃 되었습니다."
    

회원탈퇴

  • DELETE /user 로 요청 시 Guards 로 토큰 인증 확인.

  • 토큰이 인증되었다면, DB에서 해당 유저 제거.

    요청

    • DELETE /user

    응답

    • 성공 (200)
    "캐릭터가 삭제 되었습니다."
    

🧑‍🤝‍🧑 친구 기능

팔로우 목록 조회

요청

  • GET /friendship

응답

  • 성공 (200)
[ // 팔로잉 2명
    {
        "nickname": "hungjin",
        "characterName": "lion"
    },
    {
        "nickname": "hj",
        "characterName": "lion"
    }
]
 []// 팔로잉 0명

닉네임으로 팔로우 신청

  • API PUT /friendship/{상대닉네임}
  • 성공 (200) "팔로우 성공"
  • 실패 (404)
    {
         "statusCode": 404,
         "message": "이미 팔로우한 유저입니다.",
         "error": "Not Found"
    }
    

닉네임으로 팔로우 취소

  • API DELETE /friendship/{상대닉네임}
  • 성공 (200) "팔로우 취소 성공"
  • 실패 (200) "팔로우 목록에 없는 유저"

🎮 Interface

  • [PATCH] 캐릭터 변경
  • [PATCH] 닉네임 변경
  • [GET] 친구 목록 조회
  • [DELETE] 친구 삭제

👨‍👩‍👧‍👦 공유

  • [GET] 기록 공유 전체 조회
  • [POST] 기록 공유 작성
  • [DELETE] 기록 공유 삭제
  • [POST] 좋아요 토글
Clone this wiki locally