我在 Grape 端点中有这样一行来检查 POST 正文的内容,以提供测试端点:
return 'OK' if request.body.string == 'TEST'
在我笔记本电脑上的开发环境中,这工作得很好。但是,在我们的暂存和生产环境中,它会引发异常:
NoMethodError: undefined method `string' for #<Unicorn::TeeInput:0x0000000b0d0290>
据我所知,这与 Rack 有关,但我很惊讶地发现两个环境之间的中间件行为不同。我想知道那里是否有人遇到过这个问题并且可能有一个建议,因为我看到 Unicorn::TeeInput 似乎没有一种简单的方法来检查内容。我希望也许有一种“官方”方式可以直接访问 Grape 中的请求正文,但我还没有找到。
感谢您的任何想法。