우주먼지

💡 API 명세서 - 로그아웃, 토큰 재발급

 

회원 & 로그인 & 로그아웃 API 명세서

 

공통 (로그아웃, 토큰재발급)

POST logout
/api/logout
로그아웃 시 사용하는 엔드포인트 입니다
Header
Authorization Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJBQ0NFU1MiLCJpYXQiOjE2NzQ2NTIzMTgsImV4cCI6MTY3NDY1MzIxOCwibWVtYmVySWQiOjMsInJvbGUiOiJBRE1JTiJ9.icBFQbDz1dZQ7zFf2tvYvfWaRQwEaI1ZcB24wePwF31sBNxD31uWIi_1vP3RuT3Mxso1X4R9KGPfXndDIoHPSg

 

ExampleRequest
curl --location --request POST 'localhost:8080/api/logout' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJBQ0NFU1MiLCJpYXQiOjE2NzM5NzIyODIsImV4cCI6MTY3Mzk3MzE4MiwibWVtYmVySWQiOjEsInJvbGUiOiJBRE1JTiJ9.EXtlRbtayjWEm51CxdHBkOKC0ISaL4D4QwoZb5RmItc4drW2dOtlLnCT1-cgnc7-gj-M5FI3cy8GqLCBaTAv1g'
Example Response 200 OK
logout success

 

공통 (토큰 재발급)

POST AccessTokenReissuance (Access Token 재발급)
/api/access-token/issue
로그아웃 시 사용하는 엔드포인트 입니다
Header
Authorization Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJBQ0NFU1MiLCJpYXQiOjE2NzQ2NTIzMTgsImV4cCI6MTY3NDY1MzIxOCwibWVtYmVySWQiOjMsInJvbGUiOiJBRE1JTiJ9.icBFQbDz1dZQ7zFf2tvYvfWaRQwEaI1ZcB24wePwF31sBNxD31uWIi_1vP3RuT3Mxso1X4R9KGPfXndDIoHPSg

 

ExampleRequest
curl --location --request POST 'localhost:8080/api/access-token/issue' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJSRUZSRVNIIiwiaWF0IjoxNjczOTQxMDYwLCJleHAiOjE2NzUxNTA2NjAsIm1lbWJlcklkIjozfQ.FhPVAyeuigc-QKKg6_HQKmDwayyUKKnwTSQAqq1mDOmaf0StHDDVJkaOOqMxqEIlcCNFBd6pwMhS5sp0XlakaA'
Example Response 401 UnAuthorized
{
  "errorCode": "A-005",
  "errorMessage": "해당 refresh token은 존재하지 않습니다."
}

 

회원가입 (Default)

POST 회원가입
/api/members/new
기본 회원(User) 자체 회원가입 시 사용하는 엔드포인트 입니다

 

ExampleRequest
{curl --location --request POST 'localhost:8080/api/members/new' \
--data-raw '{
    "email" : "1014as@naver.com",
    "memberName" : "신건우",
    "password" : "1q2w3e4r5%",
    "confirmPassword" : "1q2w3e4r5!",
    "nickName" : "googoo",
    "birth" : "1999-09-30"
}'
Example Response 401 UnAuthorized
{
  "errorCode": "A-009",
  "errorMessage": "비밀번호가 일치하지 않습니다."
}

 

자체 로그인

POST 로그인
/api/members/login
기본 회원(User), 관리자 회원(Admin) 자체 로그인 시 사용하는 엔드포인트 입니다.
관리자 회원은 sql 스크립트로 인해 저장하고 있으며, 관리자의 아이디는 카카오 서버에서 이용하는 아이디를 쓰면 안됩니다.

 

ExampleRequest
curl --location --request POST 'localhost:8080/api/members/login' \
--data-raw '{
    "email" : "1013aq@gmail.com",
    "password" : "aaaa1111!",
    "memberType" : "DEFAULT"
}'
Example Response 400 Bad Request
{
  "errorCode": "M-003",
  "errorMessage": "해당 회원은 존재하지 않습니다."
}

 

카카오 로그인 (회원가입)

POST 카카오 로그인 (회원가입)
/api/oauth/login
카카오 로그인 시 사용하는 엔드포인트 입니다
다른 로그인과 다르게 Body에 memberType을 꼭 명시해야 합니다.
Header
Authorization Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJBQ0NFU1MiLCJpYXQiOjE2NzQ2NTIzMTgsImV4cCI6MTY3NDY1MzIxOCwibWVtYmVySWQiOjMsInJvbGUiOiJBRE1JTiJ9.icBFQbDz1dZQ7zFf2tvYvfWaRQwEaI1ZcB24wePwF31sBNxD31uWIi_1vP3RuT3Mxso1X4R9KGPfXndDIoHPSg

 

ExampleRequest
curl --location --request POST 'localhost:8080/api/oauth/login' \
--header 'Authorization;' \
--data-raw '{
    "memberType" : "KAKAO"
}'
Example Response 401 UnAuthorized
{
  "errorCode": "A-003",
  "errorMessage": "Authorization Header가 빈값입니다."
}

 

회원정보 조회 (마이페이지)

GET 회원 조회
/api/members/look-up/{member-id}
회원정보 조회 시 사용하는 엔드포인트 입니다
Header
Authorization Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJBQ0NFU1MiLCJpYXQiOjE2NzQ2NTIzMTgsImV4cCI6MTY3NDY1MzIxOCwibWVtYmVySWQiOjMsInJvbGUiOiJBRE1JTiJ9.icBFQbDz1dZQ7zFf2tvYvfWaRQwEaI1ZcB24wePwF31sBNxD31uWIi_1vP3RuT3Mxso1X4R9KGPfXndDIoHPSg

 

ExampleRequest
url --location --request GET 'localhost:8080/api/members/look-up/4' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJBQ0NFU1MiLCJpYXQiOjE2NzM5NjIzOTcsImV4cCI6MTY3Mzk2MzI5NywibWVtYmVySWQiOjMsInJvbGUiOiJBRE1JTiJ9.oucRqNDLd8Aor7UR7zYyoxoDTGQBJsxQZjbOGbdvrjMeeU6sk6TrRCPVK9xf5ok6pyrY7TDlwpzz_UrvxzohoQ' \
--data-raw ''
Example Response 401 UnAuthorized
{
  "errorCode": "A-001",
  "errorMessage": "토큰이 만료되었습니다."
}

 

회원 전체 조회 (관리자 페이지)

GET 관리자 페이지
/api/members/total-look-up?size=10&page=1
회원 전체 조회 시 사용하는 엔드포인트입니다.

Authorization 값으로 관리자의 토큰을 넣어줘야 합니다(관리자만 조회 가능).

page는 현재 페이지의 번호, size는 page당 데이터 개수, totalElements는 전체 사이즈의 개수, totalPages는 페이지의 개수를 의미합니다
Header
Authorization Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJBQ0NFU1MiLCJpYXQiOjE2NzQ2NTIzMTgsImV4cCI6MTY3NDY1MzIxOCwibWVtYmVySWQiOjMsInJvbGUiOiJBRE1JTiJ9.icBFQbDz1dZQ7zFf2tvYvfWaRQwEaI1ZcB24wePwF31sBNxD31uWIi_1vP3RuT3Mxso1X4R9KGPfXndDIoHPSg
Params
size 10
page 1

 

ExampleRequest
curl --location --request GET 'localhost:8080/api/members/total-look-up?size=10&page=1' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJBQ0NFU1MiLCJpYXQiOjE2NzM2MTg0NjEsImV4cCI6MTY3MzYxOTM2MSwibWVtYmVySWQiOjIsInJvbGUiOiJVU0VSIn0.7mzhFDBlk6slbQYIsyLulWe7PugAltY_euQ1NxXyOhAG-YBOe0DYG_FzlKthf2nxLpYLapJHyCG742Nf6FcDLw'
Example Response 401 UnAuthorized
{
  "errorCode": "A-001",
  "errorMessage": "토큰이 만료되었습니다."
}

 

회원정보 수정 (마이페이지)

PATCH 회원정보 수정
/api/members/edit/{member-id}
회원정보 수정에서 사용되는 엔드포인트입니다.

errorCode A-009는 newPassword와 confirmNewPassword가 일치하지 않을 때 발생, 
A-010은 password와 newPassword가 일치하지 않을 때 발생합니다.

관리자는 필히 이 엔드포인트를 통해 비밀번호를 수정해야 db에 암호화된 값으로 비밀번호가 저장될 수 있습니다.
Header
Authorization Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJBQ0NFU1MiLCJpYXQiOjE2NzQ2NTIzMTgsImV4cCI6MTY3NDY1MzIxOCwibWVtYmVySWQiOjMsInJvbGUiOiJBRE1JTiJ9.icBFQbDz1dZQ7zFf2tvYvfWaRQwEaI1ZcB24wePwF31sBNxD31uWIi_1vP3RuT3Mxso1X4R9KGPfXndDIoHPSg

 

ExampleRequest
curl --location --request PATCH 'localhost:8080/api/members/edit/6' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJBQ0NFU1MiLCJpYXQiOjE2NzM5NjIzOTcsImV4cCI6MTY3Mzk2MzI5NywibWVtYmVySWQiOjMsInJvbGUiOiJBRE1JTiJ9.oucRqNDLd8Aor7UR7zYyoxoDTGQBJsxQZjbOGbdvrjMeeU6sk6TrRCPVK9xf5ok6pyrY7TDlwpzz_UrvxzohoQ' \
--data-raw '{
    "nickName" : "googoo수정",
    "password" : "1q2w3e4r5!",
    "newPassword" : "1q2w3e4r5@",
    "confirmNewPassword" : "1q2w3e4r5#"
}'
Example Response 401 UnAuthorized
{
  "errorCode": "A-001",
  "errorMessage": "토큰이 만료되었습니다."
}

 

회원정보 삭제

PATCH 회원정보 삭제
/api/members/delete/{member-id}
회원삭제 시 사용하는 엔드포인트 입니다
Header
Authorization Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJBQ0NFU1MiLCJpYXQiOjE2NzQ2NTIzMTgsImV4cCI6MTY3NDY1MzIxOCwibWVtYmVySWQiOjMsInJvbGUiOiJBRE1JTiJ9.icBFQbDz1dZQ7zFf2tvYvfWaRQwEaI1ZcB24wePwF31sBNxD31uWIi_1vP3RuT3Mxso1X4R9KGPfXndDIoHPSg

 

ExampleRequest
curl --location --request PATCH 'localhost:8080/api/members/delete/8' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJBQ0NFU1MiLCJpYXQiOjE2NzQzMTQ3NjIsImV4cCI6MTY3NDMxNTY2MiwibWVtYmVySWQiOjgsInJvbGUiOiJVU0VSIn0.RKDZ4mPENmyk04TD42jM8Skfz9OUctzpQDhrx23-yvOjN1Fl_i14s3bLz6AWlXWiiEiQsO8nKIhdQNNbPoM6mw'
Example Response 200 OK
No Response Body

 

profile

우주먼지

@o귤o

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그