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から取得している。