지금까지 들은 Spring 강의를 토대로 일정관리를 위한 CRUD API 만들어 보기
일정 생성 일정 수정 일정 삭제 일정 조회
회원 가입 이메일 수정 비밀번호 수정
| 기능 | Method | URL | request | response | 상태코드 |
|---|---|---|---|---|---|
| 회원가입 | POST | /users/signup | { "id": "아이디", "password": "비밀번호" } |
{ "message": "회원가입이 완료되었습니다" } |
200:정상가입 |
| 일정 생성 | POST | /schedules | { "username": "작성자명", "title": "제목", "contents": "내용" } |
{ "message": "일정이 생성되었습니다", "scheduleId": "일정id", "username": "작성자명" } |
201:생성됨 |
| 전체 일정 조회 | GET | /schedules | { "userId": "작성자id" } |
{ "schedules" : [ { "schedule_id": "일정 아이디", "username": "작성자명", "title":"제목", "createdAt": "생성일, "updatedAt": "수정일" }, { "schedule_id": "일정 아이디", "username": "작성자명", "title":"제목", "createdAt": "생성일 "updatedAt": "수정일" } ] } |
200:OK |
| 전체 일정 조회 | GET | /schedules | query string을 사용한다 /schedules?username=홍길동&modifiedAt=2025-05-22&userId=1 | { "schedules" : [ { "schedule_id": "일정 아이디", "username": "작성자명", "title":"제목", "createdAt": "생성일, "updatedAt": "수정일" }, { "schedule_id": "일정 아이디", "username": "작성자명", "title":"제목", "createdAt": "생성일 "updatedAt": "수정일" } ] } |
200:OK |
| 선택 일정 조회 | GET | /schedules/{scheduleId} | { "schedules" : { "schedule_id": "일정 아이디", "username": "작성자명", "title":"제목", "createdAt": "생성일, "updatedAt": "수정일" }, |
200:OK | |
| 선택 일정 수정 | PATCH | /schedules/{scheduleId} | { "username": "작성자명", "contents": "내용" ,"password": "비밀번호" } |
{ "message": "일정이 수정되었습니다", "scheduleId": "일정id", "username": "작성자명" } |
200:OK |
| 선택 일정 삭제 | DELETE | /schedules/{scheduleId} | { "password": "비밀번호" } |
{ "message": "일정이 삭제되었습니다", "scheduleId": "일정id", "username": "작성자명" } |
200:OK |
| 비밀번호 변경 | PATCH | /users/{userId}/password | { "oldPassword": "예전 비밀번호", "newPassword": "새로운 비밀번호" } |
{ "message": "비밀번호가 변경되었습니다" } |
200:OK |
| 이메일 변경 | PATCH | /users/{userId}/email | { "newEmail": "새로운 이메일" } |
{ "message": "이메일이 변경되었습니다" } |
200:OK |
