2015-02-04 4 views
1

이 ember-cli 0.1.12로 마이그레이션되었으므로 이제 http-mock이 작동하지 않습니다.ember http-mock request.body가 정의되지 않았습니다.

get 요청에 대해 잘 작동합니다. request.query는 모든 쿼리 매개 변수를 반환합니다.

그러나 POST 요청의 경우 request.body가 정의되지 않았으므로 요청 매개 변수를 가져올 수 없습니다.

ember http-mock에서 요청 본문에 액세스하는 방법을 알려줄 수 있습니까?

답변

1

나는 이슈 추적기에서 말했듯이 이것은 Ember CLI에서 변경 되었기 때문에 기본 파서는 다른 미들웨어에 영향을주기 때문에 제거되었습니다.

사례에 대한 안내가 포함 된 홍보 자료를 열었습니다. https://github.com/ember-cli/ember-cli/pull/3211

+0

현재이 문제가 해결 된 후 몇 달이 지났습니다. 나는 잘못한 일을하거나 저주를 받았다. – MilkyWayJoe

+1

@MilkyWayJoe 내가 연결된 PR 지침을 따르십니까? – joostdevries

+0

네, 바디 파서를 설치했는데, 처음에 혼란 스러웠습니다. github의 스레드에 설정 방법이 다릅니다. 나는 그것을 지금 생각한다. 후속 조치를 잊어 버렸습니다. – MilkyWayJoe

1

req.body에 정의되지 않은 동일한 문제가있었습니다. 여기에 내가 다음 단계는 다음과 같습니다

1) 당신은 몸 파서를 필요로하는 각 모의 파일을 지정해야합니다) 몸 파서

npm install body-parser 

2를 설치합니다. 예를 들어, 그래서 내 /server/mocks/addresses.js는 지금 :

module.exports = function(app) { 
    var express = require('express'); 
    var addressesRouter = express.Router(); 

    ... 

    addressesRouter.post('/', function (req, res) { 
    var address = req.body; 
    address.id = addresses.length + 1; 
    addresses.push(address); 
    res.status(201).send({ 
     'address': address 
    }); 
    }); 

    ... 

    app.use('/api/addresses', require('body-parser').json(), addressesRouter); 

그래서 기본적으로 당신이 마지막 app.userequire('body-parser').json()의 두 번째 (가운데) 인수를 추가해야합니다.

req.body가 작동하고 더 이상 정의되지 않아야합니다.

관련 문제