【问题标题】:Rails having trouble parse json multipart form?Rails 在解析 json 多部分表单时遇到问题?
【发布时间】:2012-07-16 15:04:23
【问题描述】:

我在理解为什么 Rails 3.2.6 解析包含 json 的多部分 POST 请求时遇到了一些麻烦。

“有问题”的 curl 命令:

curl -i -X POST --silent http://localhost:3000/foo.json --form foo='{"name":"bar"};type=application/json'

Rails 解释为:

p params[:foo] #=> "{\"name\":\"bar\"}"

注意该值是字符串,而不是(解析后的 JSON)哈希。

curl 发送的标头似乎是正确的:

> POST /foo.json HTTP/1.1
> User-Agent: curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5
> Host: localhost:3000
> Accept: */*
> Content-Length: 208
> Expect: 100-continue
> Content-Type: multipart/form-data; boundary=----------------------------959d0620faa3

multipart 的类型似乎也正确:

------------------------------959d0620faa3
Content-Disposition: form-data; name="foo"
Content-Type: application/json

{"name":"bar"}
------------------------------959d0620faa3--

有人可以帮助我了解到达 params[:foo] 返回解析的 json 哈希而不是其字符串表示的地方的最佳方式吗?

谢谢。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 json curl multipart


    【解决方案1】:

    Rails 默认不解析 json 参数,您必须手动进行。

    【讨论】:

    • 谁能详细说明他的 curl 语句应该如何阅读?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多