メインコンテンツまでスキップ
バージョン: 0.13.0 (Previous)

🚦 ミドルウェア

SDK は現在、middlewares 名前空間から 1 つのミドルウェア、 nodeBlocksErrorMiddleware を公開しています。これは Express に渡されたエラーを Nodeblocks のエラーレスポンス形式に変換します。

import express from 'express';
import {middlewares, services} from '@nodeblocks/backend-sdk';

const {nodeBlocksErrorMiddleware} = middlewares;
const {identitiesService} = services;

const app = express();
app.use('/api/identities', identitiesService(dataStores, configuration));
app.use(nodeBlocksErrorMiddleware());

サービスルーターの後に登録してください。defService は、バリデーションまたはルートハンドラーが失敗したときに Express の next(error) を呼び出し、 最終的なエラーレスポンス自体は送信しません。

レスポンス形式

nodeBlocksErrorMiddleware()NodeblocksError から statusCodemessage、省略可能な data を読み取り、次のレスポンスを返します。

{
"error": {
"message": "Validation Error",
"data": []
}
}

statusCode がない場合、ステータスはデフォルトで 500 です。開発環境では、 レスポンスに error.stack も含まれます。ミドルウェアは utils.nodeblocksLogger でエラーをログ記録します。

エラーの構築と orThrow のマッピングについては、エラーハンドリング » を参照してください。