2016-09-20 2 views
0

우편 배달부를 통해 POST 데이터를 보일 수 없습니다 & Express. Express + postman에서 응답이 없습니다

app.use(bodyParser.urlencoded({extended:true})); 
app.use(bodyParser.json()); 

var fdbRouter = express.Router(); 
fdbRouter.route('/films') 
//post verb 
.post(function (req, res) { 

var item = new Film(req.body); 
console.log(item); 
//item.save(); 
res.status(201).send(item); 

}) 

를 다음과 같이 내 POST 동사 코드는 내가 구글 친구가이 1. Node.js/Express form post req.body not working 2. req.body empty on posts 3 내놓았다 한

postman setup

다음과 같이 내 우체부 설정입니다 Express + Postman, req.body is empty

PS 우편 배달부의 감시 항목은 내가 가지고있는 몽구스 스키마에서 기본값이므로 표현이 작동하는지 여부에 관계없이 생성됩니다. 나는 그것을 아래로 포맷의 명시에 ​​게시 요청 일한 때마다

답변

0

(당신이 MongoDB를를 사용하는 가정) :

var express = require('express'); 
var fdbRouter = express.Router(); 
var model = require("<FILE TO IMPORT MODEL>") //This file will differ, but you need to import the model you created for films in your DB 
var FilmModel = model.Film //also depends on how you exported your model in your dbFiles. Either way you need this model as the blue print for your post request 

//I'm also assuming here that you're calling /films correctly and have it sourced as such in your app.js so you don't need /api/films as you have listed in your postman setup image 

fdbRouter.post('/films', function(req,res){ 
    var newfilm = new FilmModel() 
    newFilm.title = req.body.Title 
    newFilm.year = req.body.Year 
    newFilm.genre = req.body.Genre 
    newFilm.save(function(err, savedObject){ 
    if(err){ 
     console.log(err) 
     res.status(500).send() 
    }else{ 
     res.send(savedObject) 
    } 
    }) 
}) 

는 참고 :이 코드 예제는 스키마와 모델을 테스트 DB를 가정 설정되어 경로 파일로 가져올 수 있습니다.

이것이 올바른 방향으로 오게되면 알려주세요!

+0

나는 그것을 시도했다. 여전히 작동하지 않습니다. 우편 배달부에서와 같은 반응. 추신. '/ api/films'경로는 없습니다. –

+0

나는 범인을 발견했다. 스키마의 대소 문자가 DB의 대/소문자와 다르다는 것이 밝혀졌습니다. 즉 DB에있는 것이 대문자이고 모델에있는 것이 대문자였습니다. 감사! –