알라딘 API를 사용해서 프로젝트를 진행하는데 CORS 에러가 생겼다.
개발 할 당시에는 CORS 확장 프로그램을 사용하여서 문제가 안생겼는데
배포를 하려니 상당히 거슬려서 어떻게하면 해결할 수 있는지 찾아봤음.
직접 API를 호출하면 제약이 발생하고, EXPRESS 서버를 도입하여 백엔드 서버를 거친 후 요청/응답이 이루어지도록 했다.(CORS 미들웨어)
일단 테스트로 만든 곳에서 동작하는것은 확인했다.
이제BookMarket에 적용하면되는데,
서버를 express 폴더에
npm init-y 로 package.json 생성 후
라이브러리들을 설치한다.
설치 완료되면
server.js 를 만들어서
안에 api를 불러올 수 있도록
코드를 짠다.
테스트할거임
그리고 package.json에서 쉽게 실행할 수 있도록
start 를 node server.js로 변경해주고
터미널로 실행한다.
휴;; 이제 실제 프론트엔드랑 연결해야함
server.js (back)
이런식으로 쿼리 타입은 베스트 셀러인지 , 신간리스트인지 , 뭐 블로그 추천 리스트라던지 그런 옵션들을 넣어서
front
api 호출할 코드를 hook으로 만들어서 사용했다.
그리고 BestSeller 컴포넌트는 프롭스로 type을 받아오는데
이 타입이 위에서 언급했던 쿼리타입이다.
이 타입을 useData에 넘겨주면
server.js에서 "ItemList"로 끝나는 url을 가져와서 알라딘 api에서 데이터를 가져와 front로 전달한다.
그 데이터를 BestSeller 컴포넌트에서 받아서
data:bestSeller라는 변수로 받아서 출력해주면
다른 부분들도 위와 같이 수정하면 된다 ㅠ.,
https://inthedev.tistory.com/55
[React] Express로 CORS 에러 해결하기
Express로 CORS 에러 해결하기 와 드디어... 해결... 프론트엔드에서 API를 이용하여 프로젝트를 만들다 보면 거의 반드시 CORS 에러를 마주하게 된다. 나는 서울시에서 제공하는 공공 API를 이용하여
inthedev.tistory.com
https://github.com/FRONTENDSCHOOL7/Double-Check?tab=readme-ov-file
GitHub - FRONTENDSCHOOL7/Double-Check
Contribute to FRONTENDSCHOOL7/Double-Check development by creating an account on Gitub.
github.com
https://reese-dev.netlify.app/issue_archive/aladin_cors/
알라딘 Open API CORS 이슈 해결
알라딘 open API를 사용해서 도서 검색 기능을 구현하다가 CORS 이슈를 맞닥뜨렸다. 해결과정과 함께 공부한 내용을 간단하게 정리해보려고 한다. 일단 상황은 이랬다. 도서 검색을 위해 알라딘 서
reese-dev.netlify.app
vite 에서 서버 환경 만들기
https://blog.illustudio.co.kr/todo-list-front-to-back-3/
보완 사항
- 처음 서버 시작 시 데이터를 받아오는데 시간이 오래걸림
그래서 await로 로딩 시간동안은 로딩화면 보여주는게 맞지 않나 싶음.
'FRONTEND > React' 카테고리의 다른 글
[myCart] 회원가입 페이지 // 프로필 설정 (0) | 2023.12.19 |
---|---|
[myCart] 로그인 페이지 /useRef()사용하여 비밀번호 숨김/보임 버튼 추가 /react-hook-form 라이브러리 사용 /유효성 검사 (0) | 2023.12.19 |
[myCart] 주문 내역 페이지 (0) | 2023.12.19 |
[myCart] 장바구니 페이지 (0) | 2023.12.19 |
[myCart] 상품 상세보기( SingleProductPage ) 생성 (0) | 2023.12.19 |