⭐ 목차 ⭐
<aside> 💍 안녕하세요! 투명한 가격으로 웨딩 플래너와 예비 부부를 연결하는 매칭 플랫폼**,** 순수웨딩 팀의 프론트엔드입니다!
해당 문서에서는 기능을 중심으로 API 정의 방법과 테스트 시나리오에 대해 설명합니다.
</aside>
<aside> ✅ 성공한 경우
Status Code: 200 OK
</aside>
<aside> ❎ 에러가 발생한 경우
// 기준 1: 표준 응답 상태 코드
Status-Code: 400
{
"success": false,
"response": null,
"error": {
"message": "동일한 이메일이 존재합니다.",
// 기준 2: 순수웨딩만의 상태코드
"status": 2003
}
}
기준 1: 기본적인 응답의 상태 코드는 다음과 같은 기준을 따릅니다.
<aside> 👌 2xx: Successful responses
200 OK
요청이 성공적으로 됨
</aside>
<aside> ⚠️ 4XX : Client error responses
400 Bad Request
잘못된 문법으로 인하여 서버가 요청하여 이해할 수 없음
401 Unauthorized
비인증(unauthenticated), 반드시 스스로를 인증해야 함
403 Forbidden
콘텐츠에 접근할 권리를 가지고 있지 않음
404 Not Found
서버는 요청받은 리소스를 찾을 수 없음
</aside>
<aside> 🚨 5XX : Server error responses
500 Internal Server Error
웹 사이트 서버에 문제가 있음
</aside>
기준 2: 프론트에서 어떤 에러인지 판단하기 쉽도록 하기 위해서 순수 웨딩만의 상태 코드를 카테고리별로 따로 만들었습니다.
아래 내용을 클릭하시면 더 상세한 상태 코드와 메시지를 보실 수 있습니다.
[Untitled](<https://unmarred-belief-362.notion.site/4b76a1f1ccd04a67a84811e782fc8c7a>)
</aside>
Response Data는 record를 사용하였으며 user > UserResponse 와 같은 파일에서 확인할 수 있습니다. 전체 API 템플릿은 utils > ApiUtils에 있습니다.
success: Boolean
error
String
int
response
Long
String
Integer
별점은 1~5 사이의 숫자이기에 Long이 아닌 Integer로 작성했습니다.Double
Boolean
_core > errors과 _core > errors > exception
<aside>
⚠️ BaseException
에서 전체 메시지와 상태 코드를 관리하여 유지 보수의 용이성을 높였습니다.
CustomException
인터페이스를 만들어 BadRequestException(400), ForbiddenException(404), NotFoundException(404), ServerException(500) 등의 세부적인 예외 클래스를 관리합니다.
GlobalExceptionHandler
(전역 에러 핸들러)에서 Controller 내에서 에러가 발생하면 해당 핸들러에서 catch해서 에러 템플릿의 내용을 응답 메시지로 전달해주도록 구현하였습니다.
</aside>
<aside> 📌 따라서 순수웨딩의 에러는 모두 다음과 같은 형식을 따릅니다.
{
"success": false,
"response": null,
"error": {
"message": "동일한 이메일이 존재합니다.",
"status": 2003
}
}
</aside>