【问题标题】:Rails not processing JSON params in get requestRails 不处理获取请求中的 JSON 参数
【发布时间】:2017-07-17 01:07:26
【问题描述】:

当您将post JSON 作为参数时,如果您在标头中指定Content-type: application/json,Rails 通常会为您完成所有解析。

get 请求也一样吗?

在以下 rspec 请求规范中,以 JSON 形式发送的参数尽管标头正确,但并未被解析。为什么?

@headers = { 'CONTENT_TYPE' => 'application/json' }
get cases_path(query_params), params: params.to_json, headers: @headers

【问题讨论】:

  • 我不确定它是控制器行为还是因为 RSpec - 因为在正文请求中使用 JSON 进行 GET 并不常见。我建议您进行测试,以确保它不是 RSpec 模拟与预期不同的东西。

标签: ruby-on-rails json ruby rspec


【解决方案1】:

这是我们在应用中所做的:

@headers = { "ACCEPT" => "application/json" }
get cases_path(query_params), { my_param: param_value }, @headers

即只需将参数作为哈希传递。运气好吗?

【讨论】:

    猜你喜欢
    • 2017-10-25
    • 1970-01-01
    • 2014-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    • 2018-06-30
    • 2020-11-05
    相关资源
    最近更新 更多