■やりたいこと
node.jsのExpressとJoiというライブラリを使って真偽を設定しPostmanで正常に作動しているか確認したい
■問題点
PostmanでSendするとターミナルに以下のエラーがでてしまう
TypeError: Joi.validate is not a function
javascript
1const Joi = require('joi'); 2const express= require('express'); 3const app = express(); 4 5app.use(express.json()); 6 7const courses =[ 8 {id:1, name:'course1'}, 9 {id:2, name:'course2'}, 10 {id:3, name:'course3'}, 11] 12 13app.get('/',(req,res)=>{ 14 res.send('Hello Wold!!'); 15}); 16 17app.get('/api/courses',(req,res)=>{ 18 res.send(courses); 19}); 20 21app.post('/api/courses',(req,res)=>{ 22 const schema = Joi.object({ 23 name: Joi.string().min(3).required() 24 }); 25 26 27 const result = Joi.validate(req.body,schema); 28 29if(result.error){ 30 res.status(400).send(result.error.details[0].message); 31 return; 32} 33 34 const course ={ 35 id:courses.length + 1, 36 name: req.body.name 37 }; 38 courses.push(course); 39 res.send(course); 40}); 41 42 43 44 45app.get('/api/courses/:id',(req,res)=>{ 46 const course = courses.find(c => c.id===parseInt(req.params.id)); 47 if(!course){ 48 res.status(404).send('The course with the given ID was not found'); 49 }else{ 50 res.send(course); 51 } 52}); 53 54// PORT 55const port = process.env.PORT || 3000; 56app.listen(port,()=> console.log(`Listening on port ${port}...`)); 57
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。