Express 4.0 본문 구문 분석기가 경로 핸들러에 표시되지 않습니다.

다음과 같이 Google POSTMAN을 통해 넣으려고합니다.

PUT /updateUser/[email protected] HTTP/1.1
Host: localhost:8081
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: 3f1e9857-302a-f4cf-4c24-d3222b4bc292

{"email":"[email protected]", "pass":"kkk"}

디버깅 할 때 req.body가 정의되지 않았습니다. 내 코드는 server.js입니다.

var express = require('express')
    , app = express()
    , mongoose = require('mongoose')
    , models = require('./models')
    , bodyParser = require('body-parser')
    , routes = require('./controllers')
    , user = require('./controllers/users.js')
    , port = 8081 //process.env.PORT || 3000

app.use(express.static(__dirname + '/public'));
app.use('/', routes);
app.use('/', user);
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

module.exports = app;
mongoose.set('debug', true);
mongoose.connect('mongodb://localhost/m101JS', function (err) {
    if (err) throw err;
    console.log("mongoose connected")
    //routes(app);
    var server = app.listen(port, function () {
        var host = server.address().address
        var port = server.address().port
        console.log("RESTful Web Services listening at http://%s:%s", host, port)
    })
})

users.js

var express = require('express')
    , router = express.Router()
    , mongoose = require('mongoose')
    , User = mongoose.model('User')
    , crypto = require('crypto')
    , cleanString = require('../helpers/cleanString')
    , hash = require('../helpers/hash');
// ......    
// Update user
router.put('/updateUser/:id', function (req, res, next) {
    var email = cleanString(req.body.email);
    var pass = cleanString(req.body.pass);
    if (!(email && pass)) {
        return invalid(email);
    }

    crypto.randomBytes(16, function (err, bytes) {
        if (err) return next(err);

        var user = { _id: email };
        user.salt = bytes.toString('utf8');
        user.hash = hash(pass, user.salt);

        User.findByIdAndUpdate(req.params.id, user, function (err, post) {
            if (err) return next(err);
            res.json("updated:" + post);
        });
    });
});
module.exports = router;

이전 server.js와 같은 라우터 클래스를 사용하지 않을 때 작동했습니다.

//....
routes(app);

이전 users.js

module.exports = function (app) {
    app.put('/updateUser/:id', function (req, res, next) {
    .....
}

그렇다면 users.js에서 body-parser를 볼 수 있도록 현재 코드를 어떻게 수정할 수 있습니까? 모든 파일에서 요구할 필요는 없습니다.

감사,

날라 스 리니 바스

미들웨어 구성 순서는 Express js에서 중요합니다. 구성에서 먼저 라우터 매핑을 지정한 다음 본문 파서 미들웨어를 지정했습니다. 먼저 본문 파서를 구성한 다음 라우터 매핑을 구성하기 만하면됩니다.

특급 :

  app.use(bodyParser.urlencoded({ extended: true }));
  app.use(bodyParser.json());
  app.use(express.static(__dirname + '/public'));
  app.use('/', routes);
  app.use('/', user);

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

테이블보기가 표시되기 전에로드되지 않는 데이터 구문 분석

분류에서Dev

값을 구문 분석하는 동안 예기치 않은 문자가 발견되었습니다. c. 경로 '', 행 0, 위치 0.

분류에서Dev

로그 경로에서 구문 분석 된 필드가 logstash에 추가되지 않았습니다.

분류에서Dev

Koa는 POST 요청 가져 오기에서 '본문'을 구문 분석하지 않습니다.

분류에서Dev

높이가 0에서 기본 크기로 변경된 후 셀이 표시되지 않습니다.

분류에서Dev

ANTLR4가 typedef를 구문 분석하지 않습니다.

분류에서Dev

Recyclerview의 데이터가 JSON에서 데이터를 구문 분석 한 후 표시되지 않습니다.

분류에서Dev

log4j 로거 문이 jboss wildfly AS에 표시되지 않습니다.

분류에서Dev

기본적으로 Vim에서 구문 강조가 표시되지 않는 이유는 무엇입니까?

분류에서Dev

JSON 구문 분석 : 위치 0에 예기치 않은 문자 (ÿ)가 있습니다.

분류에서Dev

USB 어댑터의 외장 드라이브가 탐색기에 표시되지 않습니다. 누구나 문제 해결 경로가 있습니까?

분류에서Dev

사이드 바 메뉴가 동적으로 생성 된 경우 콘텐츠가 대시 보드 본문에 표시되지 않습니다.

분류에서Dev

Rsyslog 구문 분석 문제-Rsyslog로 전송되는 syslog 메시지에 헤더가 없습니다.

분류에서Dev

경로가 자체 폴더로 이동 한 후 Node js Express가 본문을 구문 분석 할 수 없습니다.

분류에서Dev

'FS : 0'에 할당하는 인라인 asm : 핸들러가 안전한 핸들러로 등록되지 않았습니다.

분류에서Dev

Nokogiri Gem은 SAX 핸들러를 사용하여 파일을 구문 분석하지 않습니다.

분류에서Dev

구문 분석 된 JSON 데이터가 목록보기에 표시되지 않음

분류에서Dev

API의 신속한 구문 분석 CSV 파일은 구분 기호로 구분되지 않습니다.

분류에서Dev

JSON 구문 분석 예기치 않은 토큰 h로 인해 문자열 값 안에 따옴표가 발생했습니다.

분류에서Dev

NG-REPEAT 아무것도 표시하지 않습니다 .. 데이터가 성공적으로 구문 분석되었습니다.

분류에서Dev

PHP sscanf가 문자열을 제대로 구문 분석하지 않습니다.

분류에서Dev

문자열이 Datetime에 대한 유효한 구문 분석 문자열로 인식되지 않았습니다.

분류에서Dev

Express 4에서 정의되지 않은 POST 본문

분류에서Dev

swift3에서 JSON 데이터가 구문 분석되지 않습니다.

분류에서Dev

Express 경로에서 요청 본문이 비어 있습니다.

분류에서Dev

본문 배경 이미지가 표시되지 않음

분류에서Dev

본문 배경 이미지가 표시되지 않음

분류에서Dev

쉼표가있는 입력 번호는 IE의 데이터 바인딩에서 숫자 값으로 구문 분석되지 않습니다.

분류에서Dev

"예기치 않은 토큰입니다." JSON 구문 분석이 선행 0으로 10 진수 구문 분석에 실패 함

Related 관련 기사

  1. 1

    테이블보기가 표시되기 전에로드되지 않는 데이터 구문 분석

  2. 2

    값을 구문 분석하는 동안 예기치 않은 문자가 발견되었습니다. c. 경로 '', 행 0, 위치 0.

  3. 3

    로그 경로에서 구문 분석 된 필드가 logstash에 추가되지 않았습니다.

  4. 4

    Koa는 POST 요청 가져 오기에서 '본문'을 구문 분석하지 않습니다.

  5. 5

    높이가 0에서 기본 크기로 변경된 후 셀이 표시되지 않습니다.

  6. 6

    ANTLR4가 typedef를 구문 분석하지 않습니다.

  7. 7

    Recyclerview의 데이터가 JSON에서 데이터를 구문 분석 한 후 표시되지 않습니다.

  8. 8

    log4j 로거 문이 jboss wildfly AS에 표시되지 않습니다.

  9. 9

    기본적으로 Vim에서 구문 강조가 표시되지 않는 이유는 무엇입니까?

  10. 10

    JSON 구문 분석 : 위치 0에 예기치 않은 문자 (ÿ)가 있습니다.

  11. 11

    USB 어댑터의 외장 드라이브가 탐색기에 표시되지 않습니다. 누구나 문제 해결 경로가 있습니까?

  12. 12

    사이드 바 메뉴가 동적으로 생성 된 경우 콘텐츠가 대시 보드 본문에 표시되지 않습니다.

  13. 13

    Rsyslog 구문 분석 문제-Rsyslog로 전송되는 syslog 메시지에 헤더가 없습니다.

  14. 14

    경로가 자체 폴더로 이동 한 후 Node js Express가 본문을 구문 분석 할 수 없습니다.

  15. 15

    'FS : 0'에 할당하는 인라인 asm : 핸들러가 안전한 핸들러로 등록되지 않았습니다.

  16. 16

    Nokogiri Gem은 SAX 핸들러를 사용하여 파일을 구문 분석하지 않습니다.

  17. 17

    구문 분석 된 JSON 데이터가 목록보기에 표시되지 않음

  18. 18

    API의 신속한 구문 분석 CSV 파일은 구분 기호로 구분되지 않습니다.

  19. 19

    JSON 구문 분석 예기치 않은 토큰 h로 인해 문자열 값 안에 따옴표가 발생했습니다.

  20. 20

    NG-REPEAT 아무것도 표시하지 않습니다 .. 데이터가 성공적으로 구문 분석되었습니다.

  21. 21

    PHP sscanf가 문자열을 제대로 구문 분석하지 않습니다.

  22. 22

    문자열이 Datetime에 대한 유효한 구문 분석 문자열로 인식되지 않았습니다.

  23. 23

    Express 4에서 정의되지 않은 POST 본문

  24. 24

    swift3에서 JSON 데이터가 구문 분석되지 않습니다.

  25. 25

    Express 경로에서 요청 본문이 비어 있습니다.

  26. 26

    본문 배경 이미지가 표시되지 않음

  27. 27

    본문 배경 이미지가 표시되지 않음

  28. 28

    쉼표가있는 입력 번호는 IE의 데이터 바인딩에서 숫자 값으로 구문 분석되지 않습니다.

  29. 29

    "예기치 않은 토큰입니다." JSON 구문 분석이 선행 0으로 10 진수 구문 분석에 실패 함

뜨겁다태그

보관