api 라우팅 분리

2025. 12. 9. 12:27·BackEnd/node.js
app.get('/sampleQuestions', (req, res) => {
    res.sendFile(path.join(__dirname, 'sampleQuestions', 'sampleQuestions.html'));
});
app.get('/sampleQuestions/api/questions', async(req, res) => {
    try{
        const data = await fs.readFile(path.join(__dirname, 'sampleQuestions', 'test.json'));
        const questions = JSON.parse(data);
        res.json(questions);
    }
    catch(error){
        console.error('파일 읽기 오류:', error);
        res.status(500).send('서버 오류: 문제 파일을 불러오는데 실패했습니다.')
    }
});

 

웹페이지를 호스팅 해주는 것과 api 요청을 위한 라우팅을 분리하는 작업을 했다.

 

여기서 문제가 생겨서 대략 2시간 정도 무엇이 원인인지도 모른체 CORS 문제인가 싶어서 CORS를 추가해보기도하고 test.json 파일을 별도로 만들어 작업해보기도 하고 시간이 오래 걸렸다.

 

하지만 문제의 원인은 따로있었다.

 

바로 

app.get('/api/questions', async(req, res) => {
    try{
        const data = await fs.readFile(path.join(__dirname, 'sampleQuestions', 'test.json'));
        const questions = JSON.parse(data);
        res.json(questions);
    }
    catch(error){
        console.error('파일 읽기 오류:', error);
        res.status(500).send('서버 오류: 문제 파일을 불러오는데 실패했습니다.')
    }
});

 

이것이었다. 

 

기존에 코드는 갑자기 전혀 다른 경로로 api 라우팅이 들어갔고 그 경로를 알 수 없게 되버려서 서버랑 클라이언트 간에 목적지를 찾지 못하고 있었던 것이다.

 

경로 설정에 주의하도록 하자.

 

'BackEnd > node.js' 카테고리의 다른 글

기초 문법  (0) 2025.12.30
패키지 목록 정리  (0) 2025.12.07
API / CORS  (0) 2025.12.06
환경 설정 및 기본 사용법  (0) 2025.12.06
node.js로 서버 열기  (0) 2025.11.27
'BackEnd/node.js' 카테고리의 다른 글
  • 기초 문법
  • 패키지 목록 정리
  • API / CORS
  • 환경 설정 및 기본 사용법
dev_user
dev_user
csjang94-dev 님의 블로그 입니다.
  • dev_user
    devJang
    dev_user
    • Category (127)
      • Linux (2)
      • FrontEnd (11)
        • HTML (1)
        • CSS (5)
        • JavaScript (4)
        • React (1)
      • BackEnd (4)
        • node.js (7)
        • Vue.js (1)
      • DB (13)
      • Python (3)
      • GitHub (1)
      • AWS (18)
      • ErrorCode (2)
      • AWS 광주 개발일지(25.08.19~25.01... (55)
        • 교육 25년 8월 일지 (7)
        • 교육 25년 9월 일지 (22)
        • 교육 25년 10월 일지 (2)
        • 교육 25년 11월 일지 (4)
        • 교육 25년 12월 일지 (19)
      • Projects (3)
        • 미니프로젝트(25.08.29) (0)
        • Git Page -> Portfolio제작 (2.. (1)
      • 개념 정리 (1)
      • 유용한 서비스 (3)
  • 인기 글

  • 링크

    • GitHub
    • Portfolio
    • YouTube
    • 개발자 로드맵 사이트
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.4
dev_user
api 라우팅 분리
상단으로

티스토리툴바