1. 💡 API 명세서 - 로그아웃, 토큰 재발급
회원 & 로그인 & 로그아웃 API 명세서
1.1. 공통 (로그아웃, 토큰재발급)
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 |
1.2. 공통 (토큰 재발급)
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은 존재하지 않습니다." } |
1.3. 회원가입 (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": "비밀번호가 일치하지 않습니다." } |
1.4. 자체 로그인
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": "해당 회원은 존재하지 않습니다." } |
1.5. 카카오 로그인 (회원가입)
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가 빈값입니다." } |
1.6. 회원정보 조회 (마이페이지)
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": "토큰이 만료되었습니다." } |
1.7. 회원 전체 조회 (관리자 페이지)
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": "토큰이 만료되었습니다." } |
1.8. 회원정보 수정 (마이페이지)
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": "토큰이 만료되었습니다." } |
1.9. 회원정보 삭제
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 |
'Project > Main Project' 카테고리의 다른 글
💻 기능 개발 - 회원 (0) | 2023.01.26 |
---|---|
📄 API 명세서 - 상담프로그램 & 결제 & 예약 (0) | 2023.01.26 |
📄 API 명세서 - 상담사 & 게시물 & 공지사항 (0) | 2023.01.26 |
📄 ERD 설계 & 테이블 명세서 (0) | 2023.01.10 |
📄 사용자 요구사항 정의서 & 커밋 컨벤션 (2) | 2023.01.06 |