在 Heroku 环境中 POST 请求被视为 GET

2023-11-24

我有一个奇怪的案例。我有一个 RoR 应用程序,它提供了我从 Java 应用程序连接到的 REST API。

我正在本地开发 RoR,并将其部署在 Heroku 环境中。

不管如何(我尝试从 Java APP、Mozilla REST 客户端等),我尝试发送 POST HTTP 请求,该请求应由 api 控制器中的创建操作处理。在本地主机上 - 一切都按预期工作。在 Heroku 生产环境中 - POST 请求被视为正常的 GET。

以下是我获取此资源的路线:

        api_v1_items GET    /api/v1/items(.:format)                            api/v1/items#index {:format=>:json}
                     POST   /api/v1/items(.:format)                            api/v1/items#create {:format=>:json}
         api_v1_item GET    /api/v1/items/:id(.:format)                        api/v1/items#show {:format=>:json}
                     PATCH  /api/v1/items/:id(.:format)                        api/v1/items#update {:format=>:json}
                     PUT    /api/v1/items/:id(.:format)                        api/v1/items#update {:format=>:json}
                     DELETE /api/v1/items/:id(.:format)                        api/v1/items#destroy {:format=>:json}

所以我试图做 POST 请求/api/v1/items传递所有必要的参数。

在本地主机中,响应是正确的:

Started POST "/api/v1/items?token=l4XOHrhDApPqTp1u4TxBjQ" for 127.0.0.1 at 2014-05-15 22:11:49 +0200
Processing by Api::V1::ItemsController#create as JSON
Parameters: {"height"=>10.0, "item_name"=>"Super item", "width"=>20.0, etc...

然而,向 Heroku 发出的相同请求被视为 GET:

2014-05-15T20:27:58.137541+00:00 app[web.1]: Started GET "/api/v1/items?token=iEdDkDLiDUlWi0mDbr6XYw" for 89.74.57.51 at 2014-05-15 20:27:58 +0000
2014-05-15T20:27:58.223620+00:00 app[web.1]: Processing by Api::V1::ItemsController#index as JSON

任何想法?当然,两个存储库是同步的。检查了几次。

这真的很奇怪……也许是某种 Heroku 缓存魔法?


HTTP/1.1 301 永久移动

301 重定向不是赫鲁库魔法。您的 DNS(或者可能是您的应用程序)可能会将所有 apex 请求 (mydomain.com) 转发到www子域。

首选使用子域:

  • Heroku 开发中心:自定义域
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Heroku 环境中 POST 请求被视为 GET 的相关文章

  • 我应该在 Heroku 上部署 Ruby on Rails 应用程序吗?

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 关于我自己的一些情况 我今年 24 岁 去年从北卡罗来纳州立大学毕业 获得了分析硕士学位 统计 数学之类的 我没有很强的编程背景 这对我的问题非
  • Ruby on Rails(三)隐藏部分视图

    我正在开发 Ruby on Rails 3 Web 应用程序 我有一个名为User有一列名为role 我正在寻找对视图的这些部分具有 错误 角色的用户隐藏视图部分的最佳方法 例如我希望所有用户都能够看到用户index页面 但我只想要具有角色
  • 带有 JavaScript 函数的 Submit_tag

    我是rails新手 我想在单击提交按钮时调用javascript函数 我使用了submit tag 但该函数没有被触发 我想要如下所示的东西 我用谷歌搜索了这个问题 但找不到解决方案 请任何人提供解决方案 尝试单击 或者 如果您想使用 on
  • Rails 中多表单复选框的数据库结构

    我正在开发一个 Rails 应用程序 允许用户创建时间表 这样做时 他们应该能够选择事件发生在一周中的哪几天 我计划在表单中执行此操作的方式是每个工作日旁边有一个复选框 如下所示 etc 然而 我发现这可能不是处理这个问题的非常有效的方法
  • 嵌套表单的解决方案

    我已经被这个问题困扰了一段时间 需要制作一个表格比赛 category与自定义输入 它应该取所有值信息表并构建输入 但棘手的部分是它应该保存到类别 信息 table class Competition lt ApplicationRecor
  • Rails 轮胎 Elasticsearch 奇怪的错误

    我已经索引了Car拥有一辆车记录的车型mercedes benz在数据库中 如果我搜索这个词benz我收到错误 ActiveRecord RecordNotFound in CarsController index Couldn t fin
  • Rails:与自身的多对多关系

    我在创建此关联时遇到问题 考虑模型 Entry 我希望条目有许多作为父母的条目 并且我希望条目有许多作为孩子的条目 我想通过一个我称为 关联 的模型来实现这种关系 所以这是我尝试的 移民 class CreateAssociations l
  • 如何避免在嵌套 Rails 表单上保存空记录

    我正在使用nested form宝石给我的AddressBook关系 当用户清空现有值时Addr 我想删除那个Addr而不是用空白保存value class Person lt ActiveRecord Base has many addr
  • 错误 [ERR_UNSUPPORTED_DIR_IMPORT]:尝试在本地启动 Nodejs 应用程序时导入目录

    我在尝试将我的应用程序部署到 Heroku 时陷入了一个循环 我的进口声明 例如import cors from cors 由于 无法在 Common JS 中加载 ES6 模块 错误 似乎阻止了应用程序在生产环境中启动 在本地运行得很好
  • 使用 Squeal 时可以有条件地在 where 块中添加子句吗?

    首先 我使用 Rails v3 2 9 和 Squeel 1 0 13 这就是我想要做的 我想使用三项身份信息中的任何一项来搜索客户 姓名 出生日期 dob 和社会保险号码 sin 结果集必须包括具有任何标识符 条件的 OR 的任何记录 我
  • 使用 DataMapper 而不是 ActiveRecord [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 设计omniauth-facebook redirect_uri 不是绝对URI

    非常感谢您的建议 我迁移到 Heroku我有以下问题脸书全能认证验证 当我通过 facebook 进行身份验证时回调地址不起作用 我被发送到主页https barteringapps herokuapp com 带有以下日志错误消息 red
  • 如何在 Haml 中有条件地使用“content_for”包装器

    我正在尝试找到一种更干燥的方法来执行以下操作 if request xhr javascript my javascript else content for scripts do javascript my javascript 我在许多
  • 如何将 POST 请求内容保存为 .NET 中的文件 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一个客户端应用程序POST请求a
  • $_GET 作为 PHP 函数中的参数

    我有同样的问题 但是 我根据使用标头的 if 语句将用户重定向到通过函数构造的动态页面 为了使该函数正常工作 需要在标头的 GET 部分中传递参数 根据提供的答案 这是一种不好的做法 我应该用什么方式来做呢 function page ti
  • Java HttpURLConnection:内容长度计算

    我目前正在为 bitbucket issues RESTful API 开发一个库 我取得了很大的进步 现在我要解决这个部分更新问题 http confluence atlassian com display BBDEV Issues Is
  • Spotify:使用网络 API 登录不接受重定向 URL

    我正在尝试使用 Web API 登录 Spotify 因为我不需要会话对象 在我的授权方法中 我需要传入重定向 url 但 GET 请求中不接受 iOS 重定向 url 的格式化方式 func authorize create the ur
  • Ruby on Rails 3:“超类与类不匹配......”

    平台 Mac OSX 10 6 在我的终端中 我使用 rails c 启动 Ruby 控制台 按照 Ruby on Rails 3 教程构建一个类 class Word lt String def palindrome check if a
  • Rails 2 Mailer View 将 3D 添加到字符串之前

    我有一个非常旧的 Rails 应用程序 它试图为新用户发送验证电子邮件 但永远找不到令牌 因为由于某种原因 无论我如何生成链接 链接都会以 3D 形式添加到字符串前面 由于某种原因 它似乎还在标记的中间注入了一个 符号 这是一些带有输出的代
  • 通过重定向让 Flash 哈希值持续存在

    我的基本用例是做一些处理 设置flash notice 然后重定向到新页面 据我所知 重定向会重置 flash 标签 如果我错了 请纠正我 有没有办法获得坚持呢 使用会话不是一种选择 我已经使用 cookie 解决了这个问题 但我认为必须有

随机推荐

  • SSL 与 Grizzly 和 Jersey

    我正在尝试让 grizzly 使用 SSL 加密 并且仍然可以与 Jersey 一起正常工作 我查遍了整个互联网 发现 Grizzly 和 Jersey 对 SSL 进行了各种不同的尝试 似乎有不同的方法可以实现 具体取决于您使用的版本以及
  • 在非单一维度 1 处,张量 a (707) 的大小必须与张量 b (512) 的大小匹配

    我正在尝试使用预训练的 BERT 模型进行文本分类 我在我的数据集上训练了模型 并在测试阶段 我知道 BERT 只能接受 512 个标记 因此我编写了 if 条件来检查数据帧中测试语句的长度 如果它比 512 长 我将句子分成序列 每个序列
  • IIS Web Garden 优点/缺点 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 什么时候需要 IIS We
  • .NET Core 2 - 创建具有存储库的控制器类的实例

    我有以下控制器类 public class MyController Controller private IValueService service public MyController IValueService service th
  • 在 App.config 中使用 WCF 的 Windows 角色身份验证

    我正在使用 WCF 服务和 net tcp 端点 并将 serviceAuthentication 的主体 PermissionMode 设置为 UseWindowsGroups 目前 在服务的实现中 我使用PrincipalPermiss
  • 在 ajax 调用上显示 *浏览器* 加载指示器(例如发生回发时)

    示例 转到您的 Facebook 墙 滚动页面末尾 Facebook 将加载更多墙帖子异步地 或者只需单击墙上帖子中的图像 图像对话框 带有注释和较大图像 正在加载异步地以及 您可以使用 firebug 查看 GET 请求 但是通过查看 F
  • MVC 重定向到默认路由

    这是我的默认路线 routes MapRouteLowercase Default country controller action id new country uk controller Home action Index id Ur
  • 在 Ruby 中使用对象的属性对对象列表进行排序

    我有一个清单Fruit结构体称为basket Each Fruit结构体有一个name 一个字符串 和一个calories 一个整数 我想排序basket以便 The Fruits 最高的calories首先出现 例如 500 卡路里的水果
  • 互斥体和临界区有什么区别?

    请从Linux Windows角度解释一下 我正在用 C 编程 这两个术语有什么区别吗 请尽可能多地发帖 附上例子等等 Thanks 对于 Windows 临界区比互斥量更轻 互斥体可以在进程之间共享 但总是会导致对内核的系统调用 从而产生
  • 在 Swift 中访问 Flutter SharedPreferences

    是否可以访问SharedPreferences从 Flutter 中保存并在插件的 Swift 代码中访问 在Android中我们有FILE模式为SharedPreferences Swift 4 中有类似的功能吗 The shared p
  • nodejs websocket 检测断开的套接字

    我有一个nodejs websocket 服务器 但有以下问题 当我的客户端连接到服务器并正常终止时onclose在这些套接字上调用方法 然后对关闭的套接字执行清理操作 当客户端因网络原因断开连接时 onclose方法未被调用 是否有超时时
  • 外部 gem 的资产管道编码问题(UTF-8 与 ASCII-8BIT)

    我正在尝试创建一个包装 d3 js 的 gem 源代码可以在https github com iblue d3 rails 所以当我将这个 gem 包含在我的 Gemfile 中时 gem d3 rails git gt git githu
  • 如何检查表单是否打开,如果打开关闭表单?

    如何检查表单是否打开以及是否打开以关闭表单 我尝试了以下操作 测试了一些代码 但它一直说表单未打开 即使我知道它是 foreach Form a in Application OpenForms if a is YouLikeHits Se
  • 必须采用“app_label.ModelName”形式。" % model ValueError: 无效的模型引用

    When I python3 manage py makemigrations 我收到以下错误 File Library Frameworks Python framework Versions 3 5 lib python3 5 site
  • ASP.Net MVC:dbml 文件的最佳实践

    这可能只是一个是或否类型的问题 但无论如何 从我见过的使用 mvc 的所有 以及大多数 示例来看 创建 dbml 文件的方法似乎只是将数据库的整个架构放入其中 并让它自动生成所有 linq to sql 的优点 看来您只需要其中一个 因为您
  • 如何打开控制台与 Express 应用程序交互?

    如何打开控制台与我的 Express 应用程序交互 我正在尝试测试某些方法是否可以创建模型 我正在使用 SequelizeJS 但这对于这个问题的答案应该不重要 我已经习惯了 Rails 我可以做的事情 heroku run rails c
  • 无法删除 webpack 捆绑 js 文件中的注释

    我一直在尝试删除 webpack 捆绑的 js 文件中的注释 我已经尝试了几种方法 但它仍然不起作用 我收到这样的评论 n Copyright 2013 present Facebook Inc n All rights reserved
  • MessageDialog ShowAsync 在第二个对话框上引发 accessdenied 异常

    我正在尝试在 Windows 8 中实现重试 取消对话框 该对话框第一次显示正常 但单击重试并再次失败时 我在调用 ShowAsync 时遇到访问被拒绝的异常 我不知道为什么 但奇怪的是有时代码工作正常 当我设置断点时我没有得到异常 这里真
  • 使用 Code First 对 3 个表之间的多对多关系进行建模

    我有以下 3 个实体 User Account Role 关系就像 一个用户可以拥有多个帐户 一个账户可以属于多个用户 每个用户在帐户中都有一个角色 有一些预定义的角色 在枚举 Roles 中定义 我到目前为止 public class U
  • 在 Heroku 环境中 POST 请求被视为 GET

    我有一个奇怪的案例 我有一个 RoR 应用程序 它提供了我从 Java 应用程序连接到的 REST API 我正在本地开发 RoR 并将其部署在 Heroku 环境中 不管如何 我尝试从 Java APP Mozilla REST 客户端等