Skip to content

singasong219/schedule

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Schedule Practice

프로젝트 소개

Spring Boot와 JPA를 활용한 일정 관리 API 프로젝트입니다.

아키텍처

  • Controller : 요청/응답 처리
  • Service : 비즈니스 로직 처리
  • Repository : DB 접근 처리

1. 일정 생성

URL : POST /schedules

설명 : 새로운 일정을 생성합니다.

Request Body (JSON)

{
  "title": "회의",
  "content": "프로젝트 회의",
  "author": "지혜",
  "password": "1234"
}

Response Body (JSON)

 {
  "id": 1,
  "title": "회의",
  "content": "프로젝트 회의",
  "author": "지혜",
  "createdAt": "2026-02-15T10:00:00",
  "modifiedAt": "2026-02-15T10:00:00"
 }

2-1. 전체 조회

URL : GET /schedules

설명 : 작성자명(author)은 선택 조건입니다. 수정(modifiedAt) 기준 내림차순으로 정렬됩니다.

Response Body (JSON)

[
 {
  "id": 1,
  "title": "회의",
  "content": "프로젝트 회의",
  "author": "지혜",
  "createdAt": "2026-02-15T10:00:00",
  "modifiedAt": "2026-02-15T10:00:00"
 },

 {
    "id": 2,
    "title": "점검",
    "content": "서버 점검",
    "author": "지혜",
    "createdAt": "2026-02-15T12:00:00",
    "modifiedAt": "2026-02-15T12:00:00"    
 } 
]

2-2. 선택 일정 조회

URL : GET /schedules/{id}

설명 : 일정의 고유 식별자(ID)를 사용하여 단건 일정을 조회합니다.

Response Body (JSON)

{
 "id": 1,
 "title": "회의",
 "content": "프로젝트 회의",
 "author": "지혜",
 "createdAt": "2026-02-15T10:00:00",
 "modifiedAt": "2026-02-15T10:00:00"
}

3. 일정 수정

URL : PUT /schedules/{id}

설명 : 선택한 일정의 제목(title)과 작성자명(author)을 수정합니다. 비밀번호가 일치할 경우에만 수정 가능합니다.

Request Body (JSON)

{
 "title": "수정된 회의",
 "author": "이지혜",
 "password": "1234"
}

Response Body (JSON)

{
 "id": 1,
 "title": "수정된 회의",
 "content": "프로젝트 회의",
 "author": "이지혜",
 "createdAt": "2026-02-15T10:00:00",
 "modifiedAt": "2026-02-15T10:00:00"
}

4. 일정 삭제

URL : DELETE /schedules/{id}

설명 : 선택한 일정을 삭제합니다. 비밀번호가 일치할 경우에만 삭제 가능합니다.

Request Body (JSON)

{
 "password": "1234"
}

Response : HTTP Status 200 OK

ERD

img_1.png

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages