SinatraでJSONを受け取る

gem "rack-contrib", require: ["rack/contrib/post_body_content_type_parser"], github: "rack/rack-contrib"
use Rack::PostBodyContentTypeParser
run YourApplication

これだけ。


Rack::PostBodyContentTypeParserはその名の通りContentTypeを見てbodyをパースするmiddlewareで、実装を見ると実体はapplication/jsonのときはJSON.parse(body)みたいなことをしているだけ。

現在リリースされているバージョンだと正常に動かないので、開発版をgithubから取得している。