-
Notifications
You must be signed in to change notification settings - Fork 3
09. User API
User API에 대한 설명을 작성하는 공간입니다.
1. 회원가입하기
2. 중복확인하기
3. 로그인 하기
4. 로그아웃 하기
5. 프로필 수정하기
6. 패스워드 변경하기
7. 프로필 조회하기
8. 회원 탈퇴하기
AGORA 어플리케이션에 회원가입을 하는 API입니다.
필수 파라미터 값들을 담아서 POST
로 요청합니다. 응답은 HttpStatus 객체가 제공됩니다.
POST /users
Host: localhost:8080
Name | Type | Description | Required |
---|---|---|---|
userId | String | 사용자 Id로써, 영문 소문자와 숫자의 조합으로 6~20자 이내로 작성해야만 합니다. | O |
password | String | 비밀번호는 영문 대소문자, 숫자, 특수문자를 각 1개씩 포함해야만 합니다.(8~12자 이내, 사용 가능한 특수문자: ~!@#$%^&*()_+) | O |
String | 이메일을 입력합니다. | O | |
name | String | 사용자 이름을 입력합니다. | O |
nickname | String | 사용자 별칭을 입력합니다. | O |
birth | Date | 생년월일을 입력합니다. | X |
{
"userId":"test111",
"password":"Test1234@@",
"email":"test1@gmail.com",
"name":"test1",
"nickname":"hooligan",
"birth":"2020-01-01"
}
- HttpStatus 201 CREATED
회원가입 시에 Database 내에 해당 Id가 존재하는지 여부를 확인하는 API입니다.
userId를 Requset Parameter에 담아서 GET
으로 요청합니다. 응답은 HttpStatus 객체가 반환됩니다.
GET /users/?userId={userId}
Host: localhost:8080
Name | Type | Description | Required |
---|---|---|---|
userId | String | 중복확인을 위한 사용자 Id값 | O |
GET /users?userId=test123
- 성공: HttpStatus 200 OK
- 실패: HttpStatus 409 CONFLICT
사용자 인증을 하는 API입니다.
userId와 password를 에 담아서 POST
로 요청합니다. 응답은 HttpStatus 객체가 반환됩니다.
POST /users/login
Host: localhost:8080
Name | Type | Description | Required |
---|---|---|---|
userId | String | Login 하고자 하는 User의 Id를 입력합니다. | O |
password | String | Id에 대응하는 Password를 입력합니다. | O |
{
"userId":"test111",
"password":"Test1234@@",
}
- 성공: HttpStatus 200 OK
- 실패: HttpStatus 400 Bad_REQUEST
인증된 사용자의 세션 객체를 무효화하는 API입니다.
별도의 파라미터가 존재하지 않으며 POST
로 요청합니다. 응답은 HttpStatus 객체가 반환됩니다.
POST /users/logout
Host: localhost:8080
- 성공: HttpStatus 204 NO_CONTENT
등록된 User의 프로필 정보를 수정하는 API입니다.
User Profile에 업데이트할 내용을 RequestBody에 담아서 PUT
으로 요청합니다. 응답은 HttpStatus 객체가 반환됩니다.
PUT /users/account
Host: localhost:8080
Name | Type | Description | Required |
---|---|---|---|
file | MultipartFile | 프로필 사진을 등록할 파일을 입력합니다. | X |
nickname | String | 수정할 nickname을 입력합니다. | X |
String | 수정할 email을 입력합니다. | X | |
birth | date | 수정할 생년월일을 입력합니다. | X |
- 성공: HttpStatus 200 OK
등록된 User의 패스워드를 수정하는 API입니다.
User Profile에 업데이트할 내용을 RequestBody에 담아서 PUT
으로 요청합니다. 응답은 HttpStatus 객체가 반환됩니다.
PUT /users/account/password
Host: localhost:8080
Name | Type | Description | Required |
---|---|---|---|
currentPassword | String | 올바른 User인지 확인을 위한 password를 입력합니다. | O |
newPassword | String | 수정할 password를 입력합니다. 비밀번호는 영문 대소문자, 숫자, 특수문자를 각 1개씩 포함해야만 합니다.(8~12자 이내, 사용 가능한 특수문자: ~!@#$%^&*()_+) | O |
{
"currentPassword":"Test1234@@",
"newPassword":"Test1234!!"
}
- 성공: HttpStatus 200 OK
타깃 User의 프로필을 조회하는 API입니다.
타깃 유저의 Id를 PathVariable로 받아서 GET
으로 요청합니다. 응답은 HttpStatus 객체와 UserProfile 객체가 반환됩니다.
Profile에 이미지 첨부는 추가 작업 예정입니다.
GET /users/{targetId}
Host: localhost:8080
Name | Type | Description | Required |
---|---|---|---|
targetId | String | 조회하고자 하는 User의 Id를 입력합니다. | O |
GET http://localhost:8080/users/test123
- 성공: HttpStatus 200 OK
Name | Type | Description |
---|---|---|
userId | String | User가 가입한 Id를 나타냅니다. |
nickname | String | User가 지정한 nickname을 의미합니다. |
String | User가 지정한 email 정보를 의미합니다. | |
birth | Date | User의 생년월일 정보를 의미합니다. |
filePath | String | 프로필 사진이 저장되어 있는 경로를 나타냅니다. |
fileName | String | 프로필 사진의 파일명을 나타냅니다. |
{
"id":"1",
"nickname":"test1",
"email":"test1@gmail.com",
"birth":"2020-01-01",
"filePath":"test111/0000000",
"fileName":"hello.png"
}
사용자 탈퇴를 처리하는 API입니다.
password 인증을 하고 회원 탈퇴를 진행해야 하기 때문에 password를 RequestBody로 받아서 DELETE
로 요청합니다. 응답은 HttpStatus 객체가 반환됩니다.
DELETE /users/account
Host: localhost:8080
Name | Type | Description | Required |
---|---|---|---|
password | String | 비밀번호 인증을 위한 password를 입력합니다. | O |
{
"password":"Test1234@@"
}
- 성공: HttpStatus 204 NO_CONTENT
- 실패: HttpStatus 400 BAD_REQUEST