res.serverError()
このメソッドは、クライアントに 500 ("サーバーエラー") レスポンスを送信するために使用されます。これは、何らかのサーバーエラーが発生したことを示します(つまり、エラーはリクエストしているユーザーエージェントのせいではありません)。
return res.serverError(err);
または
return res.serverError();
他の組み込みカスタムレスポンスモジュールと同様に、このメソッドの動作はカスタマイズ可能です。
デフォルトでは、次のように動作します。
レスポンスのステータスコードは500に設定されます。
リクエストが "JSONを要求"している場合(例:リクエストがAJAX、WebSockets、またはcURLのようなRESTクライアントから発信された場合)、Sailsは提供されたエラーdata
をJSONとして送信します。data
が提供されない場合、デフォルトのレスポンスボディ(文字列"Internal Server Error"
)が送信されます。
リクエストがJSONを「要求しない」場合(例:Webブラウザに入力されたURL)、Sailsはviews/500.ejs
にあるビューをサーブしようとします(デフォルトのEJS ビューエンジンを想定)。そのようなビューが見つからない場合、またはそれをサーブしようとしてエラーが発生した場合、デフォルトのレスポンスボディが文字列"Internal Server Error"
とともに送信されます。
return res.serverError('Salesforce could not be reached');
- このメソッドは終端であり、通常、アプリが特定のリクエストに対して実行する最後のコード行です(したがって、これらのドキュメント全体で
return
の使用を推奨しています)。
res.serverError()
は(他のユーザーランドレスポンスメソッドと同様に)上書きまたは変更できます。api/responses/serverError.js
で定義されたレスポンスメソッドを実行します。アプリにserverError.js
レスポンスメソッドが存在しない場合、Sailsはデフォルトの動作を使用します。
- 指定された
data
は、アプリが「production」環境(つまり、process.env.NODE_ENV === 'production'
)で実行されている場合、JSONレスポンスとビューロケールから除外されます。