inflearn logo
강의

講義

知識共有

Node.js 教科書 - 基本からプロジェクト実習まで

API呼び出しサーバーの作成

500 server error

解決済みの質問

15869

neok

投稿した質問数 4

0

제로초님과 동일한 코드를 사용하였는데 /test시 

Request failed with status code 500에러가 뜹니다.

어디서 오류가 난걸까요...?

 

Request failed with status code 500

    at createError (\node_modules\axios\lib\core\createError.js:16:15)

    at settle (\node_modules\axios\lib\core\settle.js:17:12)

    at IncomingMessage.handleStreamEnd (\node_modules\axios\lib\adapters\http.js:237:11)

    at IncomingMessage.emit (events.js:194:15)

    at endReadableNT (_stream_readable.js:1125:12)

    at process._tickCallback (internal/process/next_tick.js:63:19)

mysql mongodb nodejs javascript

回答 10

1

Jimmy

일단 에러500이 뜨는 이유는 지금 sequelize 문법상 find는 없네요 . findOne 을 써야됩니다. 업뎃 되면서 find가 없으니 요청했을때 찾을수가없으니 500 이 뜨는것같네요. 

그걸 수정했는데 이제 401 에러가 뜨네요......ㅎㅎ 

다시 잡아보러 가볼께요 ^^ 휴......

1

zerocho

일단 과정을 말씀드리자면 8003에서 8002로 요청을 보내는 것입니다.(서버가 서버한테 요청보내는 것을 가정)

두 서버가 켜져있어야 하고 8002에서 8003 도메인 등록이 되어 있어야 합니다.

8003의 .env에는 8002에서 발급받은 키가 등록되어 있어야 합니다.

8003/test로 접속하면 json 객체가 표시되어야 합니다.

 

저는 방금 ch10/10.4의 코드로 실행해보았습니다.

1

zerocho

아, 잘못 말씀드렸네요. 8003이랑 8002 서버를 켜셔야 합니다. 8001은 상관없고요.

그리고 8002/test를 말씀하시는 건가요? 8003에서 8002로 요청을 보내야 합니다.

0

sskim91

백세영 Baik 님과 동일한 이슈인데

혹시 해결하셨나요?

0

Jimmy

neok 님과 동일한 에러가 나네요. api / v1쪽도 코드가 동일한데 왜 이런 에러가 날까요,ㅠ..

0

neok

해결했습니다! nodebird-api v1쪽에서 에러가 있었나봐요. 감사합니다!

0

neok

네 8001, 8002 제대로 작동하는데 8003/test만 안되네요,,

0

zerocho

혹시 localhost:8002쪽도 확인해보셨나요? 또는 localhost:8002쪽 서버도 켜셨나요? 8001과 8002 서버 둘 다 켜야 합니다. 요청에 대한 응답이 제대로 안 오는 것 같습니다.

0

neok

네 깃허브에 있는 코드 복사했는데도 그러네요ㅠㅠ 에러 처리는 되어있습니다.

index.js

const express = require('express'),
axios = require('axios');

const router = express.Router();

router.get('/test', async (req, res, next) => {
try {
if (!req.session.jwt) { // 세션에 토큰이 없으면
const tokenResult = await axios.post('http://localhost:8002/v1/token', {
clientSecret: process.env.CLIENT_SECRET,
});

if (tokenResult.data && tokenResult.data.code === 200) { // 토큰 발급 성공
req.session.jwt = tokenResult.data.token; // 세션에 토큰 저장
} else { // 토큰 발급 실패
res.json(tokenResult.data); // 발급 실패 사유 응답
}
}
// 발급받은 토큰 테스트
const result = await axios.get('http://localhost:8002/v1/test', {
headers: { authorization: req.session.jwt },
});

res.json(result.data);
} catch (error) {
console.error(error);

if (error.response.status === 419) { // 토큰 만료 시
res.json(error.response.data);
}

next(error);
}
});

module.exports = router;

0

zerocho

저 부분만 봐서는 에러를 알 수가 없습니다. 동일한 코드라는게 제 깃허브 코드를 사용하신 건가요?

라우터에 에러 처리가 필요합니다(console.error(error)같은 것)

실제 서비스에서도 cluster를 사용하나요?

1

313

2

캐싱에 관하여

0

279

3

salt를 실무에서 사용할때 항상 randomBytes로 만들어줘야 하나요?

0

347

1

게시물 올리기 오류

0

408

1

캐슁 이후 로그인창

0

266

1

kakao passport 질문있습니다.

0

493

3

global객체 공유 질문드립니다.

1

417

1

서버가 죽어버리네요

0

1047

8

포링키 문제..

0

234

2

커넥션 플래시 설치문제

0

216

2

익스프레스 제너레이터? 설치문제

0

2586

6

redis 질문입니다.

0

305

1

9장 세션을 DB에 저장시 리다이렉션 오류 발생

0

874

8

프레임워크 선택에 관하여 질문이 있습니다.

0

300

3

시퀄라이즈 질문입니다 ! !

0

588

1

리뉴얼 강의 12강 socket.io에서 req.session접근 관련 질문

0

922

6

oAuth 질문입니다.

0

356

3

GCP 질문입니다.

0

366

1

Passport 모듈 로그인 구현관련

0

720

6

카카오 로그인 관련 질문입니다!!

0

606

4

스스로 해보기 10-16 nunjuncks 질문있습니다

0

499

5

제로초님 HTTP 완벽가이드 추천해주신거 너무 잘 읽었습니다.

0

317

2

gif채팅방 nunjucks관련 질문입니다!

0

337

3

현영님 몽고db관련 질문입니다.

0

233

3