[API]Log - gyunam-bark/nb02-how-do-i-look-team1 GitHub Wiki
설계
flowchart TD
FRONT_END --> ENDPOINT
ENDPOINT -->|'/logs'| ROUTER
ROUTER --> CONTROLLER
CONTROLLER <--> SERVICE
SERVICE <--> DATABASE
CONTROLLER -->|FAIL| GLOBAL_ERROR_HANDLER
GLOBAL_ERROR_HANDLER --> FRONT_END
CONTROLLER -->|SUCCESS| FRONT_END
스키마
model Log {
logId Int @id @default(autoincrement())
ip String
url String
method String
statusCode String
message String
createdAt DateTime @default(now())
}
시행착오
스키마 형태 고민
처음에는 에러 발생 원인에 따라서 다양한 형태가 될 수 있다고 생각해서 detail 이란 항목을 json 형태로 저장했다.
model Log {
logId Int @id @default(autoincrement())
detail. Json
createdAt DateTime @default(now())
}
그런데 애초에 API 명세서 대로만 반환값이 나와서, 에러의 형태가 달라질 일이 없다는 것을 깨달았다.
처리 속도와 직관적인 면에서 이 스키마를 수정하는 게 좋겠다는 생각이 들어서 각 요소를 직접적으로 테이블에 추가했다.
model Log {
logId Int @id @default(autoincrement())
ip String
url String
method String
statusCode String
message String
createdAt DateTime @default(now())
}
### FE 연동
FE 에 새로운 페이지를 추가하면서 아래의 가이드를 작성해서 팀원들에게 배포했다.
[FE 새 페이지 생성 가이드](https://github.com/gyunam-bark/nb02-how-do-i-look-team1/wiki/%5B%EA%B4%80%EB%A6%AC%5D%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-%EC%83%88%EB%A1%9C%EC%9A%B4-%ED%8E%98%EC%9D%B4%EC%A7%80-%EC%B6%94%EA%B0%80-%EA%B0%80%EC%9D%B4%EB%93%9C)