🚦 ミドルウェア
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 から statusCode、message、省略可能な
data を読み取り、次のレスポンスを返します。
{
"error": {
"message": "Validation Error",
"data": []
}
}
statusCode がない場合、ステータスはデフォルトで 500 です。開発環境では、
レスポンスに error.stack も含まれます。ミドルウェアは
utils.nodeblocksLogger でエラーをログ記録します。
エラーの構築と orThrow のマッピングについては、エラーハンドリング » を参照してください。