我现在完全困惑了,因为我想建立一个api,但蛋糕有一点奇怪的行为:
如果我想发送一个post请求,让我们说"/controller",它被重定向到"/controller/index"("controller"的"index"方法),这正是我所期望的。但是,这里不是post请求,而是get请求。
(例如,我输出$this->request->method(),它打印出请求的方法)
有人以前遇到过吗?我尝试路由"/controller"到"/controller/index"在routes.php下的"Config",但没有工作好。
许多谢谢,Fabi .
你所描述的并不是蛋糕的工作原理。对/foo
的Post请求不会被任何核心代码重定向到/foo/index
。另外,默认情况下,这两个url都映射到相同的控制器操作:index.
查找问题
你可以很容易地识别重定向问题通过临时把它放在你的应用程序控制器::
function redirect($url) {
debug($url);
debug(Debugger::trace());
die;
}
这将转储一个堆栈跟踪,指示代码在调用重定向方法时如何到达该方法。一旦你知道是什么导致/controller
转向/controller/index
,你就能把注意力集中在真正的问题上。
请注意,显然任何类型的重定向都会将您的post请求"转换"为get请求-因为您不能同时从php发出重定向并提交post数据。