使用 Phil Sturgeon 的Codeigniter REST SERVER,我设置了一个基本的 REST 服务器来与 Backbone 应用程序交互。问题在于,每当应用程序尝试向正确的 URI 发出 DELETE 请求时(例如,api/object/7,其中 7 是相关 ID 号),REST 就会返回 404 Not Found 错误。一点挖掘表明它试图到达控制器内不存在的 7_delete,而不是按应有的方式调用 index_delete。
我检查了请求,它们正在路由到正确的 URL;我还检查了没有设置会干扰的自定义路由,并且没有。建议?
编辑:有关更多详细信息,主干路由设置如下:
urlRoot: 'api/objective/',
同时 CI 中的 Objective 控制器是这样设置的:
class Objective extends REST_Controller {
/**
* Respond to a POST request;
* - If given an ID, update an existing record
* - If given no ID, create a new record
*/
public function index_post() {
// code here...
}
/**
* Delete an existing record from a passed URL
*/
public function index_delete($id) {
// Code here...
}
/**
* Get a single record
*/
public function index_get($id) {
// Code here...
}
/**
* Get the full objectives list
*/
public function index_get() {
// Code here...
}
}
这与原始示例文件中提供的示例很接近。然而,CI 路由没有任何设置。