Replies: 4 comments
-
확실히 처음 방식은 상태코드의 역할이 애매했는데 자체 에러 코드를 사용하는게 더 명확해지는 것 같습니다! |
Beta Was this translation helpful? Give feedback.
-
회의와 피드백을 통해 공통 응답 형식을 재설계 했습니다.응답 성공시(20000 코드 고정) {
"code": 20000,
"content": {},
"message": null,
} 응답 실패시
{
"code": 4----,
"content": null,
"message": "사유",
}
{
"code": 30001,
"content": null,
"message": "validation 실패 사유",
} 서버 에러
{
"code": 50001,
"content": null,
"message": "서버 오류입니다.",
|
Beta Was this translation helpful? Give feedback.
-
Client에서 code 필드를 통해 상세 실패 원인을 파악하고 에러 핸들링 할 수 있다는 점에서 좋은 방식이라 생각합니다. |
Beta Was this translation helpful? Give feedback.
-
자체 에러 코드를 사용함으로써 프론트 측에서 응답 실패 시 자체 에러 코드를 통해 구체적인 실패 원인을 파악하고 에러 처리를 할 수 있는 점이 장점인 것 같습니다. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Client 측에서 응답 Json을 일관성 있게 처리할 수 있도록 응답 성패에 관계없이 항상 같은 형식을 유지할 수 있게 공통
응답 형식을 설계했습니다.
현재 결정된 공통 응답 형식은 다음과 같습니다.
AS-IS
http 상태 코드는 200으로 통일
다만, 위 방식에 대해 몇 가지 문제가 발생할 것이라 예상됩니다.
따라서 다음과 같이 응답 형식을 변경하고, status가 아닌 자체 상태 코드를 반환하는 것을 제안합니다.
TO-BE
http 상태코드는 표준을 따른다.
이렇게 되면, Client에서는 공통 응답 내부 code 필드를 통해 응답 성패여부, 상세 실패 원인을 파악하고 이를 통해 에러를
핸들링 할 수 있게 됩니다. 다만, 에러 코드 명세와 에러 코드 규격화에 대한 논의가 함께 이루어져야 합니다.
제안한 공통 응답형식이 적절한지, 에러 코드를 어떤 방법으로 규격화해 사용할지에 대해 함께 의논해 보고자 합니다.
아래는 참고한 실제 Naver Chzzk의 Api 응답 형식입니다.


Beta Was this translation helpful? Give feedback.
All reactions