laravelを使用してAPIを構築していますが、クライアントがcreate()関数を呼び出してクライアントからapiを要求し、create()関数が検証が失敗した場合や、データベースを挿入するために検証されたデータを返す場合、検証が合格した場合、私はクライアントに検証エラーを返すようにしたいgetValidatedData()関数は、私のgetValidatedData機能は、これまでに以下のようなLaravelについて、内部関数のクライアントへの応答を返す方法
protected function getValidatedData(array $data)
{
// don't format this class since the rule:in should avoid space
$validator = Validator::make($data, [
'ID' => 'required',
'weight' => 'required',
]);
if ($validator->fails()) {
exit(Response::make(['message' => 'validation fails', 'errors' => $validator->errors()]));
}
return $data;
}
である私は考えていませんexit()はエラーメッセージをクライアントに返すための良い方法です。クライアントに直接的に内部機能で応答を返すことができる他の方法はありますか?例外を投げるのを使う?
send()が機能しません。なぜなら、検証が失敗した場合、スクリプトの終了とエラーメッセージのクライアントへの返信が必要なためです。 send()を実行した後のコードはありません。編集のためのThx – mark
@マーク送信すると、このレスポンスは即座に送信され、その後のコードは実行されません –
私はLaravel APIを調べますが、クラスレスポンスには送信メソッドはありませんが、それを動作させるthrowResponse()。 Thx – mark