【问题标题】:Why am I getting a 405 on a POST request for JSON?为什么我在对 JSON 的 POST 请求中收到 405?
【发布时间】:2012-07-05 05:08:16
【问题描述】:

所以我有一个 Padrino 应用程序,其控制器大致如下所示(为简洁起见):

App.controllers :questions do
  get :index, :with => :id, :provides => [:html, :json] do
    # Stuff
  end

  post :index, :with => :id, :provides => [:html, :json] do
    # Other stuff
  end
end

如果我在浏览器中点击“questions/1”,我会看到给定问题的 HTML 页面。如果我点击“questions/1.json”,我会看到问题的 JSON 表示。完全符合我的预期。

现在,如果我通过 Web 表单向“questions/1”提交 POST 请求,它就可以工作了。但是,如果我尝试向“questions/1.json”发送 POST 请求(表明我想要 JSON 格式的响应,或者至少我认为它是这样工作的),我会得到 405方法不允许。

我猜我在这里误解了一些基本的东西。我错过了什么?更重要的是,我应该如何定义一个路由来接受 POST 请求并提供 HTML 或 JSON 响应?

【问题讨论】:

    标签: ruby sinatra padrino http-status-code-405


    【解决方案1】:

    嗯,我不太确定为什么会这样;但是现在我已经通过在我的 POST 请求中将“ACCEPT”标头设置为“application/json”而不是在 URL 的末尾添加“.json”来解决这个问题(根据我有限的互联网研究,这可能无论如何都是首选方法)。

    【讨论】:

      猜你喜欢
      • 2015-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-23
      • 2019-10-28
      • 1970-01-01
      • 2019-05-16
      • 1970-01-01
      相关资源
      最近更新 更多