| 기능 | Method | URL | Request | Response | 상태코드 | 제약사항 |
|---|---|---|---|---|---|---|
| 게시글 생성 | POST | /boards | { "title": "게시글 제목", "contents": "게시글 내용", "username": "작성자 이름" } |
{ "id": "게시글 ID", "title": "게시글 제목", "contents": "게시글 내용", "username": "작성자 이름" } |
- 201 게시글 생성 성공 - 400 요청 실패 |
- 제목은 필수 값 - 내용은 1000자 이내 |
| 게시글 전체 조회 | GET | /boards | 없음 | [{ "id": "게시글 ID", "title": "게시글 제목", "contents": "게시글 내용", "username": "작성자 이름" }, ...] |
- 200 정상 조회 | 없음 |
| 게시글 단건 조회 | GET | /boards/{id} | 요청 param - id |
{ "id": "게시글 ID", "title": "게시글 제목", "contents": "게시글 내용", "username": "작성자 이름", "age": "작성자 나이" } |
- 200 정상 조회 - 404 게시글 미존재 |
없음 |
| 게시글 삭제 | DELETE | /boards/{id} | 없음 | 없음 | - 200 삭제 성공 - 404 게시글 미존재 |
없음 |
| 회원가입 | POST | /members/signup | { "username": "사용자명", "password": "비밀번호", "age": "나이" } |
{ "id": "회원 ID", "username": "사용자명", "age": "나이" } |
- 201 회원가입 성공 - 400 요청 실패 |
- 사용자명 중복 불가 - 비밀번호 필수 |
| 회원 단건 조회 | GET | /members/{id} | 요청 param - id |
{ "id": "회원 ID", "username": "사용자명", "age": "나이" } |
- 200 정상 조회 - 404 회원 미존재 |
없음 |
| 비밀번호 수정 | PATCH | /members/{id} | { "oldPassword": "기존 비밀번호", "newPassword": "새 비밀번호" } |
없음 | - 200 수정 성공 - 400 요청 실패 - 404 회원 미존재 |
- 기존 비밀번호가 일치해야 수정 가능 |
- URL:
/boards- Request Body:{ "title": "게시글 제목", "contents": "게시글 내용", "username": "작성자 이름" } - Response:
{ "id": "게시글 ID", "title": "게시글 제목", "contents": "게시글 내용", "username": "작성자 이름" } - Status Code:
- 201: 게시글 생성 성공
- 400: 요청 실패
- 제약사항:
- 제목은 필수 값
- 내용은 1000자 이내
- URL:
/boards- Request Parameter: 없음 - Response:
[ { "id": "게시글 ID", "title": "게시글 제목", "contents": "게시글 내용", "username": "작성자 이름" }, { "id": "게시글 ID", "title": "게시글 제목", "contents": "게시글 내용", "username": "작성자 이름" } ] - Status Code:
- 200: 정상 조회
- 제약사항: 없음
- URL:
/boards/{id}- Request Parameter:id: 조회할 게시글 ID
- Response:
{ "id": "게시글 ID", "title": "게시글 제목", "contents": "게시글 내용", "username": "작성자 이름", "age": "작성자 나이" } - Status Code:
- 200: 정상 조회
- 404: 게시글이 존재하지 않음
- 제약사항: 없음
- URL:
/boards/{id}- Request Parameter:id: 삭제할 게시글 ID
- Response: 없음
- Status Code:
- 200: 삭제 성공
- 404: 게시글이 존재하지 않음
- 제약사항: 없음
- URL:
/members/signup- Request Body:{ "username": "사용자명", "password": "비밀번호", "age": "나이" } - Response:
{ "id": "회원 ID", "username": "사용자명", "age": "나이" } - Status Code:
- 201: 회원가입 성공
- 400: 요청 실패
- 제약사항:
- 사용자명 중복 불가
- 비밀번호 필수
- URL:
/members/{id}- Request Parameter:id: 조회할 회원 ID
- Response:
{ "id": "회원 ID", "username": "사용자명", "age": "나이" } - Status Code:
- 200: 정상 조회
- 404: 회원이 존재하지 않음
- 제약사항: 없음
- URL:
/members/{id}- Request Body:{ "oldPassword": "기존 비밀번호", "newPassword": "새 비밀번호" } - Response: 없음
- Status Code:
- 200: 수정 성공
- 400: 요청 실패
- 404: 회원이 존재하지 않음
- 제약사항:
- 기존 비밀번호가 일치해야 수정 가능
CREATE TABLE Schedules (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '일정을 구분하는 id',
userId BIGINT NOT NULL COMMENT '유저의 id',
title VARCHAR(100) NOT NULL COMMENT '일정 제목',
content TEXT COMMENT '일정 내용',
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '',
updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '',
FOREIGN KEY (userId) REFERENCES User(id) ON DELETE CASCADE
);CREATE TABLE User (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '',
name VARCHAR(50) NOT NULL COMMENT '',
email VARCHAR(100) UNIQUE NOT NULL COMMENT '',
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '',
updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ''
);