2017-02-14 1 views
0

루프백 모델에 약간의 문제가 있습니다. 원격 메소드가 공격받는 다양한 모델이 있습니다. 모든 메소드는 자체 콜백 함수로 응답합니다. 오류 객체를 콜백 함수에 넣으면 내 문제가 시작됩니다. 예를 들어 :루프백은 원격 메소드 오류 콜백을 사용자 정의합니다.

promise() 
     .then(promiseResult => sencondPromise()) 
     .then(promiseResult => cb(null, promiseResult)) 
     .catch(err => cb({"status" : 400, "message" : "Response test"}, null)); 

긍정적 인 콜백을 트리거 문제가되지 있습니다. 부정적인 콜백 트리거 때 :

cb({"status" : 400, "message" : "Response test"}, null)); 

을 나는이 응답을 얻을 :

상태 필드가에 statusCode로 변경된 이유는
{ 
    "error": { 
    "statusCode": 400, 
    "message": "Response test" 
    } 
} 

?

미리 감사드립니다. 자신의 오류 처리기 만들기위한

+0

왜 문제가 있다는 것입니다? 네가 정확히해야할 일? –

+0

오류 응답에 다른 유형을 사용해야하므로이 응답은 문제입니다. 예 : '{ "오류": { "상태": 400, "메시지": "응답 테스트" } }' 그것은 '상태'에 대한 기본 매개 변수 '에 statusCode'을 변경할 수있어? – Antonio

+1

이것은 공식 오류 객체 루프백으로 클라이언트에 다시 전송됩니다. 사용자 정의 오류 객체를 원하면 자체 객체를 생성해야합니다. –

답변

2

:

1)를 제거 strong-error-handlermiddleware.json

2) config.local.js 만들기에서하고이 코드를 아래에 넣어 :

function errorConverter(options){ 
    return function(err, req, res, next){ 
    //check err and create your custom error object 
    var customErr = {}; 
    next(customErr); 
    } 
} 

module.exports = { 
    remoting: { 
    errorHandler: { 
     handler: errorConverter() 
    } 
    } 
}; 
관련 문제