LaravelはFormRequestという仕組みでバリデーションを分離できる。APIの場合はコードを変えずにバリデーション結果のJSONを取得することができるのでその方法。
ちなみにAPIでない通常のWebページの場合は$errors
オブジェクトを使ってページ上にバリデーション結果を表示することができる。これのために作ったFormRequestをそのままAPIでも利用することができる。
リクエストする際にAccept: application/json
ヘッダーを送るだけ。これでJSONで取得できる。
ちなみに以前はこんな感じでFormRequestのメソッドをオーバーライドして対応していたっぽい。
【Laravel5】FormRequestのバリデーション結果をJSON APIで返す
もしかしたらこの時もAcceptヘッダーを送ればできたのかもしれないが。何にしろ、リクエスト側の仕様の問題でAcceptヘッダーを正しく送ることができないのであればこの方法でやるしかなさそう。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント