• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

axios 요청 시 y 파라미터가 빈 값인 경우 에러가 발생합니다

21.08.28 10:12 작성 조회수 221

1

안녕하세요. 강의 잘 듣고 있습니다.

store/movie.js에서 axios.get를 사용해 api request 시에 y파라미터 값으로 year를 전달하게 되는데요.(강의 6:40 ~ 부분)

Search 컴포넌트에서 All years 옵션 선택 시 빈 스트링 값인 ""이 value로 전달되고, &y=""로 요청이 되게 되는데 OMDb API가 변경되었는지 해당 요청에 대해 401 에러를 반환합니다.(이유는 모르겠지만 API Key가 정상임에도 에러 메시지가 Invalid API Key Error네요.)

const res = await axios.get(`https://www.omdbapi.com/?apikey=${OMDB_API_KEY}&s=${title}&type=${type}${year ? `&y=${year}`: ""}`)

위와 같이 year 값이 존재하는 경우에만 y파라미터를 사용하도록 변경하니 잘 작동하는데요. 원인이 정확하지 않아 확인 차 여쭤봅니다. 그리고 위와 같이 값 존재 여부에 따라 파라미터를 선택적으로 넘겨주고 싶을 때 저렇게 코딩하는게 맞나요...?(좀 더 좋은 방식이 있는지 궁금합니다)

답변 1

답변을 작성해보세요.

1

이인우 님 안녕하세요~😊

우선 401 에러는 인증 오류이기 때문에, API 키 등에 문제가 있었던 것으로 추측되네요.

y 파라미터와는 직접 관련은 없어 보이고요.

혹시나 해서 요청 테스트를 해봤는데, OMDbAPI에 변경사항이 있진 않습니다.

그리고 y 파라미터에 문제가 발생하면 완성 코드를 기준으로는 400 에러를 반환하게 설계했기 때문에,

아무래도 y 파라미터의 코드 수정 과정에서 특정 문제가 같이 수정된 것은 아닌가 추측합니다.

만약 현재 작성하신(잘 동작하는) 코드에서 y 파라미터만 원래 강의 내용처럼 돌려놓았을 때 역시 에러가 반환된다면,

그대로 코드를 깃헙 저장소에 업로드하고 링크 보내주시면 확실하게 문제를 진단하고 설명을 드리겠습니다!

그럼 확인 부탁드리고, 즐거운 주말 보내세요~👍

이인우님의 프로필

이인우

질문자

2021.08.28

그렇군요. 제 요청이 잘못 되었던 것 같네요.

동일한 쿼리 재현하여 다시 테스트해보니 정상적으로 잘 동작합니다.

답변 감사드립니다 :)