Skip to content

API Guide

Hyeonjae.kim edited this page Oct 31, 2020 · 2 revisions

유저 관련 API

회원 가입

신규 유저를 등록합니다.

[Request]

POST /api/users/register
{
    "body" : {
        "user_id" : (유저 아이디),
        "user_email" : (유저 이메일),
        "user_pw" : (유저 패스워드)
    }
}

body로 user_id, user_email, user_pw 를 보냄

[Response]

  • 회원가입 성공
HTTP 200
{
    success : true,
    message : '회원가입에 성공했습니다.'
}
  • 이미 존재하는 아이디인 경우
HTTP 400
{
    success : false,
    message : '이미 존재한 아이디입니다.'
}

로그인

로그인합니다.

[Request]

POST /api/users/login
{
    "body" : {
        "user_id" : (유저 아이디),
        "user_pw" : (유저 패스워드)
    }
}

body로 user_id, user_pw 를 보냄

[Response]

  • 로그인에 성공한 경우

유저의 마지막 접속일을 업데이트합니다. user_updatedAt: new Date().toISOString()

HTTP 200
{
    success : true,
    message : `${user.user_id} : 로그인 성공`
}
  • 이메일은 맞지만 비밀번호가 잘못된 경우
HTTP 200
{
    success : false,
    message : `비밀번호가 틀림`
}
  • 이메일도 비밀번호도 잘못된 경우
HTTP 200
{
    success : false,
    message : `아이디도 비밀번호도 틀림`
}

유저 정보 로드

유저의 기본 정보를 불러옵니다.

[Request]

GET /api/users
{
    "query" : {
        "user_id" : (유저 아이디)
    }
}

query로 user_id를 보냄

[Response]

  • 유저가 존재할 경우
HTTP 200
{
    success : true,
    data : result(MongoDB user data),
    message : `${user_id} 의 정보`
}
  • 유저가 없는 경우
HTTP 404
{
    success : false,
    message : `${user_id}는 없는 유저입니다.`
}

회원 탈퇴

유저의 계정을 삭제합니다.

[Request]

POST /api/users/delete
{
    "body" : {
        "user_id" : (유저 아이디),
        "user_pw" : (유저 비밀번호)
    }
}

body로 user_id, user_pw를 보냄

[Response]

  • 아이디가 존재하며, 현재 비밀번호가 일치하는 경우
HTTP 200
{
    success : true,
    message : `${user_id} : 회원탈퇴`
}
  • 아이디가 존재하며, 현재 비밀번호와 다른 경우
HTTP 200
{
    success : false,
    message : `${user_id} 의 비밀번호가 틀립니다.`
}

패스워드 변경(비밀번호 인증 버전)

유저의 비밀번호를 변경합니다.

[Request]

PATCH /api/users/password
{
    "body" : {
        "user_id" : (유저 아이디),
        "user_prev_pw" : (현재 비밀번호),
        "user_want_pw" : (변경할 비밀번호)
    }
}

body로 user_id, user_prev_pw, user_want_pw 를 보냄

[Response]

  • 아이디가 존재하며 현재 비밀번호가 일치하는 경우(정상 요청)
HTTP 200
{
    success : true,
    message : `${user_id}의 비밀번호가 변경되었습니다.`
}
  • 아이디가 없거나, 현재 비밀번호가 틀린 경우(비정상 요청)
HTTP 400
{
    success : false,
    message : `아이디 혹은 비밀번호가 틀렸습니다.`
}

패스워드 변경(이메일 인증 버전, 미완성)

유저의 비밀번호를 변경합니다.

[Request]

PUT /api/users/password
{
    "body" : {
        "user_id" : (유저 아이디),
        "user_email" : (유저 이메일),
        "user_want_pw" : (변경할 비밀번호)
    }
}

body로 user_id, user_prev_pw, user_want_pw 를 보냄

[Response]

  • 비밀번호 변경이 가능한 경우(정상 요청)

TODO: 이메일을 통한 인증 기능

HTTP 200
{
    success : true,
    message : `${user_id}의 비밀번호가 변경되었습니다.`
}
  • 비밀번호 변경이 실패한 경우
HTTP 400
{
    success : false
}