Node.jsでAPIを作成しています。
データベースからデータを取得しレスポンスを返す処理を書いたつもりですが、レスポンスが表示されず、エラーが表示されます。
何が問題だったかを教えていただけるとありがたいです。
なお、所々にconsole.logを入れて確認したところ、データベースのデータが表示されているので、取りに行っていることは確認しています。
controller
ts
1 @Get('/portfolio') 2 portfolio(@Res() res:any) { 3 this.service.getPortfolio().then((response)=>{ 4 if(!response) { 5 return res.status(404).json({ 6 error: { 7 message: 'data not found' 8 } 9 }) 10 } 11 console.log(response); ←データ取得ができていました。 12 return res.json(response); 13 }).catch(() => { 14 return new Error(); 15 }) 16 }
service
ts
1 public getPortfolio():Promise<any> { 2 return new Promise<any>((resolve, reject) => { 3 this.connection.query('select * from some', (error, results, fields)=>{ 4 if (error) { 5 reject(error); 6 } 7 resolve(results) 8 }) 9 }) 10 }
エンドポイント
https://localhost:3000/portfolio GET
response
1Error: 2at new HttpError (/$HOME/beapp/node_modules/src/http-error/HttpError.ts:16:18) 3at new NotFoundError (/$HOME/beapp/node_modules/src/http-error/NotFoundError.ts:10:5) 4at ExpressDriver.handleSuccess (/$HOME/beapp/node_modules/src/driver/express/ExpressDriver.ts:324:15) 5at /$HOME/beapp/node_modules/src/RoutingControllers.ts:164:35 6at processTicksAndRejections (internal/process/task_queues.js:93:5)
サービスでデータベースに接続して取得しています。
環境
node -v -> 12.8.3
npm -v -> 6.14.9
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。