我现在完全糊涂了,因为我想建立一个api,但蛋糕有点奇怪的行为:
如果我想发送一个POST请求让我们说“/ controller”,它会被重定向到“/ controller / index”(“控制器”的“索引”方法),这正是我所期待的。但是,我在那里得到了一个GET请求,而不是POST请求。
(例如,我输出$ this-> request-> method(),它打印出请求的方法)
之前遇到过这种情况的人?我尝试在“Config”下的routes.php中将“/ controller”路由到“/ controller / index”,但是这也没有用。
非常感谢,
法币。
答案 0 :(得分:4)
你所描述的不是蛋糕如何运作。对/foo
的发布请求不会被任何核心代码重定向到/foo/index
。此外,默认情况下,这两个URL都映射到相同的控制器操作:index。
您可以通过暂时轻松识别重定向问题,将其放入您的应用控制器中::
function redirect($url) {
debug($url);
debug(Debugger::trace());
die;
}
这将转储堆栈跟踪,指示代码在调用时如何获取重定向方法。一旦您知道将/controller
重定向到/controller/index
的责任,您就可以将注意力集中在真正的问题上。
请注意,显然任何类型的重定向都会将您的帖子请求“转换”为获取请求 - 因为您无法从php发出重定向并同时提交帖子数据。