- Framework : Spring Boot 3.3.5
- Language : Java
- Build : Gradle
- JDK : JDK 1.8
- Database : Maria DB
- Open API : Open Weather Map API
- Library : Lombok, JSON, JUnit, JPA, Springdoc(Swagger), JDBC(연습용)
- POST / create / diary
- 파라미터 : 날짜(형식 : yyyy-MM-dd), 일기 내용
- 정책: 외부 API 에서 받아온 날씨 데이터(or DB의 과거 날씨 데이터)와 함께 DB에 저장
-
GET /read/diary
-
파라미터 : 조회할 날짜(형식 : yyyy-MM-dd)
-
정책 : 해당 날짜의 일기를 List 형태로 반환
-
GET /read/diaries
-
파라미터 : 조회할 날짜 기간의 시작일, 종료일(형식 : yyyy-MM-dd)
-
정책 : 해당 날짜의 일기를 List 형태로 반환
- PUT / update / diary
- 파라미터 : 수정할 날짜(형식 : yyyy-MM-dd), 수정할 일기 내용
- 정책 : 해당 날짜의 첫 번째 일기 글을 수정
- DELETE /delete/diary
- 파라미터 : 삭제할 날짜(형식 : yyyy-MM-dd)
- 정책 : 해당 날짜의 모든 일기 삭제
- 매일 새벽 1시에 날씨 데이터를 외부 API 에서 받아다 DB에 저장해두는 로직을 구현
- logback을 이용하여 프로젝트 로그와 에러 로그를 파일로 저장
- Swagger를 이용하여 API documentation 생성
- 해결방안 : 기존 springfox 대신 springdoc을 사용하여 해결