params 是不是完整的把请求主体转化为一个哈希?
get 请求没有 body, 参数都在 url 中
post 请求参数多数在 body 中,请求 body 有各种不同 encode 方式,常见的是 urlencode 看起来就和 get 请求的参数差不多,但也可以是 multipart (带文件流) 或者其他一些神奇的编码方式
不管 get 还是 post 参数都会处理进 params, 另外 params 里还有 rails 塞进的东西,例如在 route.rb 中配置的参数、controller 和 action
显然不一样啊:
app.get "articles/1" Article Load (0.3ms) SELECT `articles`.* FROM `articles` WHERE `articles`.`id` = 1 LIMIT 1 [8] pry(main)> app.request.params => {"action"=>"show", "controller"=>"articles", "id"=>"1"} [9] pry(main)> app.request.body => #<StringIO:0x0000000532d188>