PerlでHTTP API叩く開発する時モック的なのをサーバ立てずにやってみるテスト

最近HTTP API期なわけで、なんでもかんでもAPIサーバ作って叩き合えば、疎結合だしAPIサーバの実装は好きにやればいいしいい感じだよねーと思ってるわけです。ビジネスロジックだけじゃなくて、サーバ管理みたいなバックエンド業務も、なんでもMySQLにデータ入れてSQLというインタフェースでみんな叩けばいいよねみたいなのはいい加減やめたい。それHTTPでいいやん!

で、色々サーバ書いたりとかしてみてるんですが、開発してるときにAPI叩かれる側がまだできてないと叩く側を開発できなくてだるいなーとか、クローズドなAPI使ってると公開とかするときあれだなーと思ってました。

僕が書くようなレベルってpsgiファイル1枚とかでモックだけだったら簡単にかけるので、それをローカルの適当なポートで起動しといて、とかでもいんだけど、もうちょっとかっこよくやりたかった。

色々調べてると、Plack::Clientってのがおもしろそうだったので、試しにそれを使ってみたら意外といい感じに作れたのでバリバリとモックを使って開発してみたものの、ちょっとそっちの開発の方は疲労により断念したので、モックの部分だけ切りだしてまとめてみた。

何がやりたかったかは、大した量ないのでコードみてもらえればよいかと思います。

実際はAPITest.pmっぽい感じでAPIを扱うオレオレライブラリ書いてあげて、使う側で与えるサーバの指定を変えてあげると、モック使ったり実際のサーバ使ったりと切り替えられる。多分テストとかも書きやすい。

もっと良いやり方あるよーとかあればぜひ教えて頂けると!