ExpressJS에서 기본 오류 처리기 대신 라우터 오류 처리기를 트리거하는 방법

버그

내 익스프레스 앱은 기본 JSON 본문 파서를 사용합니다.

app.use(bodyParser.json());

app.js파일 아래에는 REST API 경로를 구축하기위한 자체 라우터가 있습니다.

var api = require('./routes/api/index');
...
app.use('/api', api);

이 라우터에는 다음과 같은 오류 처리기가 있습니다.

router.use(function (err, req, res, next) {
  debugger;
  res.status(err.code ? getParseErrorStatus(err.code) : res.status || 500).send({
    error: err.message
  });
});

bodyParser가 요청 본문을 구문 분석하는 동안 오류를 던질 때마다 일반적인 익스프레스 오류 처리기가 호출됩니다.

// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
  app.use(function (err, req, res, next) {
    debugger;
    res.status(err.status || 500);
    res.render('error', {
      message: err.message,
      error: err
    });
  });
}

이는 /api/*API 라우터에 의해 포착 된 URL에 대한 호출에도 적용 됩니다.

항상 일반 오류 처리기를 호출하는 대신 URL이 API URL 인 경우 JSON 구문 분석 오류 (체인에서 미들웨어에 포착 됨)를 API 라우터에서 정의한 오류 처리기를 호출하도록 만들 수 있습니까?

mscdex

오류 처리기는 동일한 라우터 스택 수준에서 호출됩니다. bodyParser.json()메인 / 루트 / 앱 레이어에서 실행 되기 때문에 메인 / 루트 / 앱 레이어에서 첫 번째 오류 핸들러를 찾습니다.

따라서 API 본문 구문 분석 오류를 처리 bodyParser.json()하려면 본문 구문 분석이 필요한 각 경로 / 라우터로 미들웨어를 이동해야합니다 .

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

비동기 / 대기에서 오류를 처리하는 방법을 Flutter

분류에서Dev

Dartz로 Flutter에서 기능 오류 처리를 리팩터링하는 방법

분류에서Dev

기본 어레이에서 오류를 처리하는 가장 좋은 방법

분류에서Dev

MySQL 기본 오류 처리와 고유 값에 대한 예상 오류 처리

분류에서Dev

데이터 기반 접근 방식에 대한 각도기 오류 및 브라우저 처리

분류에서Dev

React에서 빈 화면 대신 브라우저 (오류보기)에 오류를 기록하는 방법

분류에서Dev

SQL에서 0으로 나누기 오류를 처리하는 방법

분류에서Dev

메모리 할당 오류를 피하기 위해 거대한 numpy 배열에서 계산을 처리하는 방법은 무엇입니까?

분류에서Dev

내 사용자 지정 오류 처리기의 기본 PHP 오류 처리기에 PHP 오류 전달

분류에서Dev

플라스크에서 서버 측 스크립트가 완료되기를 기다리는 패턴입니다. 오류 및 조기 종료 처리 방법

분류에서Dev

numpy 배열 나누기 0 오류를 처리하는 방법

분류에서Dev

신호 처리기의 분할 오류

분류에서Dev

PHP 오류 처리기-오류 이름을 얻는 방법

분류에서Dev

기본 쿼리에서 오류를 수정하는 방법 :이 근처에 또는에서 구문 오류를 보여주고있다

분류에서Dev

angularjs $ translate : 오류 처리기에서 기본 번역 가져 오기

분류에서Dev

PostgreSQL보기 오류 처리

분류에서Dev

JavaScript-가져 오기에서 404 오류를 처리하는 방법은 무엇입니까?

분류에서Dev

Python에서 예기치 않은 들여 쓰기 오류를 처리하는 방법

분류에서Dev

csv 오류 처리에 쓰기

분류에서Dev

VBA : 오류 처리기 오류

분류에서Dev

오류 처리기 expressjs 미들웨어가 오류를 포착하지 못함

분류에서Dev

nodeJS에서 비동기를 사용하여 오류를 처리하는 방법은 무엇입니까?

분류에서Dev

for 루프에서 압축을 풀기에 충분하지 않은 오류를 처리하는 방법

분류에서Dev

백본 마리오네트-사이트에 대한 기본 라우팅을 설정하는 방법

분류에서Dev

타이머 기능에 대한 오류 처리

분류에서Dev

약속에 대해 호출되지 않은 오류 처리기

분류에서Dev

node.js 서버 재시작 기본 사항 오류 처리

분류에서Dev

일반 레일에서 라우팅 오류 및 오류를 처리하는 방법

분류에서Dev

Scala Futures : 새로 생성되거나 매핑 된 모든 예외에 대한 기본 오류 처리기

Related 관련 기사

  1. 1

    비동기 / 대기에서 오류를 처리하는 방법을 Flutter

  2. 2

    Dartz로 Flutter에서 기능 오류 처리를 리팩터링하는 방법

  3. 3

    기본 어레이에서 오류를 처리하는 가장 좋은 방법

  4. 4

    MySQL 기본 오류 처리와 고유 값에 대한 예상 오류 처리

  5. 5

    데이터 기반 접근 방식에 대한 각도기 오류 및 브라우저 처리

  6. 6

    React에서 빈 화면 대신 브라우저 (오류보기)에 오류를 기록하는 방법

  7. 7

    SQL에서 0으로 나누기 오류를 처리하는 방법

  8. 8

    메모리 할당 오류를 피하기 위해 거대한 numpy 배열에서 계산을 처리하는 방법은 무엇입니까?

  9. 9

    내 사용자 지정 오류 처리기의 기본 PHP 오류 처리기에 PHP 오류 전달

  10. 10

    플라스크에서 서버 측 스크립트가 완료되기를 기다리는 패턴입니다. 오류 및 조기 종료 처리 방법

  11. 11

    numpy 배열 나누기 0 오류를 처리하는 방법

  12. 12

    신호 처리기의 분할 오류

  13. 13

    PHP 오류 처리기-오류 이름을 얻는 방법

  14. 14

    기본 쿼리에서 오류를 수정하는 방법 :이 근처에 또는에서 구문 오류를 보여주고있다

  15. 15

    angularjs $ translate : 오류 처리기에서 기본 번역 가져 오기

  16. 16

    PostgreSQL보기 오류 처리

  17. 17

    JavaScript-가져 오기에서 404 오류를 처리하는 방법은 무엇입니까?

  18. 18

    Python에서 예기치 않은 들여 쓰기 오류를 처리하는 방법

  19. 19

    csv 오류 처리에 쓰기

  20. 20

    VBA : 오류 처리기 오류

  21. 21

    오류 처리기 expressjs 미들웨어가 오류를 포착하지 못함

  22. 22

    nodeJS에서 비동기를 사용하여 오류를 처리하는 방법은 무엇입니까?

  23. 23

    for 루프에서 압축을 풀기에 충분하지 않은 오류를 처리하는 방법

  24. 24

    백본 마리오네트-사이트에 대한 기본 라우팅을 설정하는 방법

  25. 25

    타이머 기능에 대한 오류 처리

  26. 26

    약속에 대해 호출되지 않은 오류 처리기

  27. 27

    node.js 서버 재시작 기본 사항 오류 처리

  28. 28

    일반 레일에서 라우팅 오류 및 오류를 처리하는 방법

  29. 29

    Scala Futures : 새로 생성되거나 매핑 된 모든 예외에 대한 기본 오류 처리기

뜨겁다태그

보관