我在 Ubuntu 12.04 上使用 rails 3.2.8
我正在构建一个仅支持 json 的 Web 服务。现在,如果有人向我发送不是 json 但将 content-type 设置为 application/json 的数据,rails 应用程序会引发异常并返回 500(内部服务器错误)。
在调用控制器操作之前,rails 内发生此异常,因为 rails 正在尝试创建 params 结构并将传入数据解析为 JSON。
我不确定这是正确的行为。如果它挽救了异常并在某些特殊处理程序中或在我的操作中使用某些变量集让我知道,我会更喜欢。我想指出 415(不支持的媒体类型)或 422(不可处理的实体)。我的猜测是 422 在这种情况下更合适。
关于如何实现这一点的任何想法?