0

我有一个 API 端点,它应该接收 JSON 或形成 urlencoded 数据。我可以通过接受标头检测到这一点,但我只是想知道是否有一个机架中间件已经为我做了这个。基本上,它根据接受标头转换参数。

4

1 回答 1

2

你想要https://github.com/achiu/rack-parser,你可以声明解析策略:

use Rack::Parser, :parsers => {
  'application/json' => proc { |body| MyCustomJsonEngine.do_it body },
  'application/xml'  => proc { |body| MyCustomXmlEngine.decode body },
  'application/roll' => proc { |body| 'never gonna give you up'     }
}

但是,它使用 content_type 标头。因为这是放置传入 mime 类型信息的正确标题。Accepts 标头是用户将接受的响应。

于 2013-11-25T21:07:38.580 回答