400 Bad Request, 409 Conflict와 422 Unprocessable Entity 의 차이는?
들어가며 포인트 전송 API를 구현하며 잔여 포인트가 부족한 경우 에러 코드를 무엇으로 할 것인지에 대해 무려 1시간 30분 동안 토론했다. HTTP 규약에 대해 잘 몰랐는데 구분 기준에 대해 조금이나마 학습할 수 있었기에 기록한다 문제상황 포인트 전송 시점에 잔여 포인트가 부족하다면, 잘못된 요청이니까 400이겠거니! 생각했었다. 그러나 조금 더 고민해보니, 기존 프로젝트에서 비즈니스 로직에 부합하지 않는 경우 409로 서버 자원과 충돌한다는 응답을 해왔기 때문에... 409가 아닐까? 생각했다. 특히 'a request conflict with current state of server resource' 라는 MDN 문서 표현 때문에 더더욱! 마침 다른 팀원도 적합한 에러코드를 찾기 위해 MDN 문서..