개발자

typescript api fetch 시 interface로 타입을 지정해줘야 할까요?

2024년 06월 05일조회 82

안녕하세요. 프론트엔드 개발을 하고 있는 사람입니다! 아직 잘 몰라서 여쭤보고 싶습니다. typescript로 react query를 이용하여 api fetch를 진행하고 있는데요. data를 받을 때 unknown이라고 나와서 타입 지정이 필요하다는 것을 느꼈습니다. 현재는 Dot Notation : data.변수 -> Bracket Notation data['변수'] 형식으로 변경을 했는데 오류가 사라져서 사용하고 있는데, 장기적으로 봤을 때 interface로 api 에 있는 키 영역을 모두 타입 지정해줘야 할까요? 경력자분들의 고견을 부탁드립니다(_ _)

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

문종호님의 프로필 사진

안녕하세요! 바뀌는 키값이 아니라면 하지않아도 될거같지만 엄격하게 핸들링이 필요하시다면 type으로 각 키별로 타입 지정해주신후 result 받으실때 제네릭으로 받아주심 될거같습니다~

profile picture

익명

작성자

2024년 06월 05일

종호님 답변 감사합니다! 말씀 주신 부분에서 한가지 여쭤볼께 있습니다. 바뀌는 키값이라는게 키가 자주 바뀌면 type을 작성하는 것 조차 힘들 것 같긴한데요! 키 값이 자주 바뀌면 키 별로 type 지정을 할 수 없어서 하지 않아도 된다는 말씀이 맞을까요!?

문종호님의 프로필 사진

문종호

DevOps & ML Engineer2024년 06월 05일

물론 strict 하게 관리를 해주면 좋겟지만 api가 rest하다면 타입지정을 안해도될거같습니다. 보통 상태코드가 같이 떨어질건데 그거에따라 에러만 핸들링 하시면될듯싶네요

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 06월 05일

네, TypeScript에서 API의 응답을 사용할 때는 일반적으로 인터페이스를 사용하여 타입을 명확하게 지정하는 것이 좋습니다. 이것은 여러 가지 이유로 중요합니다. 1. **타입 안전성**: 인터페이스를 사용하면 API 응답의 구조와 예상되는 데이터 형식을 미리 정의할 수 있습니다. 이렇게 하면 코드 전체에서 해당 데이터를 안전하게 다룰 수 있습니다. 2. **자동 완성 및 문서화**: TypeScript가 어떤 속성이 가능한지 알고 있다면 편집기의 자동완성 기능을 활용할 수 있어 개발 시간을 단축시키고 버그를 줄일 수 있습니다. 이는 코드를 좀 더 쉽게 읽고 이해하고 유지 관리하는데 도움이 됩니다. 3. **오류 발견**: 잘못된 속성 이름에 접근하거나 예상하지 못한 값을 다루려는 경우에 컴파일 시간에 오류를 검출 할 수 있습니다. Bracket Notation으로 오류를 해결한 것은 임시 방편일 뿐, 제대로된 타입 체크를 받지 못하기 때문에 잠재적인 오류 가능성이 열릴 수 있습니다. 따라서, 시간과 리소스가 허락하는 한 최대한 API 응답에 대해 인터페이스를 사용하여 타입을 지정하는 것이 좋습니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!