RailsアプリケーションにたとえばGET /fooってリクエストを投げると、ActionDispatchあたりでGET /foo.htmlとして解釈してコントローラに処理が渡る。GET /foo.jsonみたいに拡張子がついていれば補完されずに処理が渡る。 でもAPIサーバを作ってる時はデフォルトで.jsonで補完してくれるほうが嬉しい。*1 そんなときはroutes.rbでdefaultsオプションを指定する。 post "/foo" => "foo#index", defaults: { format: "json" } resources :foos, defaults: { format: "json" } match 'foos/:id' => 'foos#show', defaults: { format: "json" } namespaceでも効くのかな。試してない。 @