我想在Codeigniter中创建一个API,它将获取cart_list,cart_list将具有纬度,商店的经度,我想检查帖子参数之间的距离(纬度,经度)并返回距离。
现在,我正在尝试在Codeigniter的控制器文件夹中创建一个控制器并编写一个函数来获取cart_list但我无法获取列表,我只是尝试返回'成功',因为响应此api但我我正在回复
{
"status": false,
"error": "Unknown method."
}
distance_calculator
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require APPPATH.'/libraries/api/REST_Controller.php';
class distance_calculator extends REST_Controller
{
function distance_calculator()
{
parent::__construct();
$this->load->model('mdl_cart_web');
}
function cart_list($offset = 0)
{
$limit = '';
$data = array();
$s_data = $_POST;
$carts = $this->mdl_cart_web->get_cart_list($limit,$offset,$s_data)->result_array();
$totalRows = $this->mdl_cart_web->get_total_cart_product($s_data)->num_rows();
// $data = $this->mdl_common->pagination_data('cart/get_cart_list/',$totalRows,$limit,'show_data');
$data['carts'] = $carts;
$data['total_cart'] = $totalRows;
$this->response('success', 200);
}
}
?>
我还在路线文件
中声明了路线路由
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$route['default_controller'] = "home1";
$route['cart_list'] = 'distance_controller/cart_list';
我将此功能称为
http://test.pricewhirl.com/index.php/distance_calculator/cart_list
使用GET方法,作为回应我得到错误未知方法。
我是网络开发的初学者。请帮帮忙,谢谢。
答案 0 :(得分:1)
您必须在方法名称中定义请求类型:
function cart_list_get() {
....
}
来自doc:
当您的控制器从REST_Controller扩展时,方法名称 将附加用于访问请求的HTTP方法。如果 例如,你会调用/ books来对/ books进行HTTP GET调用 一本书#index_get()方法。
答案 1 :(得分:1)
如果您使用的是Rest Controller,则必须使用Postfix _post
进行POST方法,将_get
用于GET方法,如
public function abc_post()
答案 2 :(得分:1)
始终在方法代码中添加方法名称作为post fix。 就像你用post方法编写函数一样 - &gt; cart_list_post() 如果你用get方法编写了一个函数 - &gt; cart_list_get()
答案 3 :(得分:0)
我知道这不是一个答案,但是如果你需要文档,请查看这篇文章,了解如何用CI制作api