2017-02-14 13 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)); 

を私はこの応答を得る:

{ 
    "error": { 
    "statusCode": 400, 
    "message": "Response test" 
    } 
} 

ステータスフィールドは、それがからstatusCodeに変わったのはなぜ?

ありがとうございます。独自のエラーハンドラの作成については

+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() 
    } 
    } 
}; 
関連する問題