3. 스키마 검증 레이어 (schema validation layer)
백엔드에서 받아오는 API 스키마를 검증할 필요가 있을까?
내가 필요성을 느낀 경험들
- 백엔드 리소스 부족 🥲 -> 테스트 잘 못달아주심 -> 요상한 응답값 튀어나옴
- 예전에는 어차피 백엔드에서 알아서 테스트하고 내려주는거니까 굳이 프론트에서 검증할 필요성을 못느꼈는데, 최근에 백엔드 리소스가 부족해지면서 테스트가 제대로 되지 않아서 명세 된 형식과 다른 응답값을 받은 적이 있음
- 외부/타팀 API 연동
- 커뮤니케이션이 직접적으로 발생하는 백엔드 API를 꽂는게 아니라 외부 혹은 타팀 API 를 연동해야할시에 필요했음. 그쪽에서 물론 릴리즈노트에 잘 작성해주겠지만, 그래도 일을 하다보면 그런 업데이트를 놓치는 경우가 파다함. 따라서 이 때 갑작스런 프론트측 런타임 에러를 방지하기 위해서 필요하다.
- 1번과 2번의 이유로 프론트의 에러 트랙킹 시간 감소를 위해
- 갑자기 프론트 화면이 터지면 에브리바디 프론트엔드 개발자에게 물어본다! 그러면 프론트 개발자는 당황한 감정+압박감을 우선적으로 느끼게 되는데, API 스키마 검증을 하면 프론트에서 에러 트래킹 하기 더 수월해짐
어떻게 할까?
- zod, joi 와 같은 라이브러리를 사용하자