【发布时间】:2014-06-17 13:45:04
【问题描述】:
我正在尝试实现 codeigniter rest api 我只得到 xml 输出而不是 json 请大家帮帮我。
路由代码:
$route['api'] = 'omega_api';
$route['api/makes/(:any)'] = 'omega_api/makes/$1';
$route['terms-and-conditions'] = 'home/terms_and_conditions';
$route['contact-us'] = 'home/contact_us';
$route['404_override'] = '';
$route['default_controller'] = 'home';
$route['(:any)'] = 'home/$1';
控制器代码:
class omega_api extends REST_Controller {
function __construct() {
parent::__construct();
$this->load->model('allcars_model');
}
public function makes_get($year) {
$this->response($this->allcars_model->get_makes($year));
}
}
型号代码:
Class allcars_model extends CI_Model {
public function __construct() {
parent::__construct();
$this->load->database();
}
public function get_makes($year) {
return $this->db->distinct()->select('om_allmakes.makeid,om_allmakes.make_name')->from('om_allmakes')->join('om_allcars', 'om_allmakes.makeid=om_allcars.model_make_id')->where('om_allcars.model_year = ', $year)->get()->result();
}
}
所以当我转到这个 url http://www.omegalocal.com/api/makes/2014/format/json 时,它总是给我如下的 xml 输出:
<xml>
<item>
<makeid>3</makeid>
<make_name>acura</make_name>
</item><item><makeid>4</makeid>
<make_name>Alfa Romeo</make_name>
</item>
</xml>
我真的不明白问题是什么,但我认为这与路由有关。 提前谢谢。
【问题讨论】:
-
删除所有路由,然后看看是否有效。或者,更改其余配置文件中的“rest_default_format”。
-
嗨,克雷格,我试过仍然以 xml 输出,但是在 codeigniter rest api 文档中它只是说 format/json 会给你 json & format/xml 给你 xml 格式,但在我的情况下没有
标签: php json codeigniter rest