에러메시지에 응답 담기

2024년 3월 21일 목요일

Today I Learned

날짜

2024년 3월 21일 목요일

내용

Angular

최근 작업한, 앱 내에 서비스 삭제 경로를 추가하는 건 나름(?) 큰 작업이었다. 그동안은 컴포넌트에 변수에 대한 조건을 추가하는 등의 사소한 작업이었는데, 새로운 하위 컴포넌트를 만들어야 했다. 모달 형태로. 기능 자체는 어제 TIL에 작성한 대로 완성했다. 다만, 기존에 작성되있는 방식에 맞추기 위해, 유지보수를 수월하게 하기 위해, 박살난 CSS 수준을 끌어올리기 위해 감사하게도 코드 리뷰를 받을 수 있었다.

이 TIL에 적어내면 참 좋겠으나 아직 내 것으로 받아들이지 못해 쓸 수 없다. 그래도 열심히 받아 적었으니 빨리 적용해보고 내가 몰랐던 부분에 대해 정리해야겠다. 최근 스프린트들이 프론트쪽에 작업이 몰리면서, 내가 프론트를 어느정도 할 수 있다면 팀의 일정에 도움이 많이 되겠다고 느꼈다. 마침 기가 막히게 성장할 환경이 갖추어졌으니 열심히 하기만 하면 될 듯!

실패에 성공 담기

지난 주 TIL에 작성한대로 위젯을 렌더링하는 함수를 만들었다. 프론트 쪽의 작업과 속도가 맞아지면서 내가 만든 기능의 문제점이 발견되었다.

우선 GET 요청에는 보통 body를 담지 않는다. 위젯 렌더링 함수는 말그대로 필요한 정보를 받는 요청이므로 POST보단 GET을 쓰는게 맞는데, 나는 이 때 오고 가는 정보를 body에 담고 있었다. 기존에 구현되어 있던 형태는 필요한 것들을 query param으로 받고 있었는데 별 생각없이 넘어갔었다. 다 이유가 있었는데.. 이 부분을 우선 수정했다.

여기서 파생되는 문제가 있었다. body에 담지 않다보니 데이터들을 담은 json을 string으로 변환하여 주고 받아야 한다. 잘 해결해서 스토어에선 렌더링이 정상작동하였는데, 알파리뷰 고객이 어드민 페이지에서 위젯을 수정할 때의 미리보기가 출력되지 않았다. 개발자 도구를 확인했더니 살다살다 처음 보는 상태였다.

이미지

status가 200인데, Http 에러가 뜨고 있다.. 진짜 웃긴 건 에러 메시지에 내가 보내야 할 HTML이 string으로 담겨있다… 이 에러 메시지(?)를 받아 처리하면 위젯을 출력할 수 있는데 도대체 왜 정상적으로 안오고 에러 메시지에 담기는가.. 감도 안온다.

회고

처리해야 할 일은 막히는데 문제는 계속 터진다. 하지만 성장 할 기회겠지..