php - 在codeigniter中,在实现rest服务时无法找到 rest.php

  显示原文与译文双语对照的内容
93 1

我正在 codeignitor ( 基本应用程序) 开发rest服务。这是我的代码,文件名是 Example_api.php:

<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Untitled Document</title>
</head>
<?php 
require("Rest_controller.php");
class Example_api extends Rest_controller { 
function user_get() 
{ 
 $data = array('returned: '. $this->get('id')); 
 $this->response($data); 
} 
function user_post() 
{ 
 $data = array('returned: '. $this->post('id')); 
 $this->response($data); 
} 
function user_put() 
{ 
 $data = array('returned: '. $this->put('id')); 
 $this->response($data); 
} 
function user_delete() 
{ 
 $data = array('returned: '. $this->delete('id')); 
 $this->response($data); 
} 
}
?> 

这是我的路:

http://localhost/CodeIgniter/index.php/Example_api/user/id/1

输出:

An Error Was Encountered

配置文件 rest.php 不存在。

请帮我。。谢谢。

时间:原作者:1个回答

76 4

Rest.phpREST_Controller.php 都应该位于:

applicationlibraries

注意 Rest.php 不是 Rest.php

另外,这是我引用文件 REST_Controller.php的方式:

require(APPPATH.'/libraries/REST_Controller.php'); 

抱歉,添加更多。

为什么在控制器的顶部包含 html?REST API 输出为JSON或者 XML - 不需要 html 。

以下是我的api的修改版本,用于移动应用程序:

这是获取有关应用程序信息的获取请求。

<?php 
require(APPPATH.'/libraries/REST_Controller.php'); 
class Mobile extends REST_Controller 
{ 
function __construct()
{
 parent::__construct();
 $this->load->model('tank_auth/users');
 $this->load->model('mobile_model');
 require_once(APPPATH. 'libraries/phpass-0.1/PasswordHash.php');
}
function about_get()
{
//HTTP HEADERS WE CARE ABOUT
 $key= $_SERVER['HTTP_SMF_API_KEY'];
 $smf_status= $_SERVER['HTTP_SMF_STATUS'];
 $user_id = $this->mobile_model->get_user_id($key);
 $data = array(
"about" =>"MY COMPANY mobile app. Copyright 2012, 2013",
 );
 $data['status']=true;
 $this->response($data);
} 
}
?>
原作者:
...