LaravelでResponderを使ってみる

概要

Laravel本ADRパターンというのが紹介されていました。

それの実装について、メリットがピンと来ていなかったのですが、下記のスライドで理解できました。

speakerdeck.com

そこでLaravelでADRのResponderを使ってみようと思います。

実装

書いてみたコードはこちら。

github.com

PostsShowJsonResponderにステータスコードとメッセージの出力を任せました。
データが無いときは ModelNotFoundException を吐くので、コントローラーでキャッチして、 null を返すようにしてみました。
※データが無いときは404にしたいから

例外時のステータスコードはもうちょっとやりようがあるなと思いました。

感想

Responderに出力を任せられるので、コントローラーが薄くなって良いなと思いました。
実際はもっとステータスコードを分けると思うので、その時にResponderがきれいになるようにしたいです。