2017-10-04 133 views
-1

我创建一个REST服务器,并想创建像这样路由REST笨

DELETE /companies/3/employees/45 

一个URL端点应该删除员工45,属于公司3

究竟如何,我会去关于使用codeigniter创建上面的URL。

+0

你到目前为止尝试过什么? – mega6382

+0

我其实并没有导致我不知道从哪里开始,我已经尝试了端点喜欢/公司/ 3或/ companies/abc/3这很简单,但是与/ companies/3/employees/45我不知道从哪里开始写我的代码。 –

回答

1

尝试以下操作:

在你routes.php添加新的路由:

$route['companies/(:num)/employees/(:num)'] = 'companies/employees/$1/$2'; 

哪里companiescontrolleremployeesaction

,并在您controller,写操作是这样的:

//Use some kind of input validations for the Ids 
public function employees($companyId = 0, $employeeId = 0) 
{ 
    if(strtolower($_SERVER['REQUEST_METHOD']) == 'delete') 
    { 
     //delete query here 
    } 
} 

它使用CI路由获取参数,可以和使用超全局$_SERVER,以确定是否被用于呼叫请求方法是DELETE

+0

没有必要添加if子句,因为http动词路由可能在routes.php类本身中,并且可以按照@elddenmedio指定的方式完成。 –

1

首先你需要一个休息的应用like this link

然后你就可以像

$route["companies"]["delete"] = 'company/delete'; 

路线在你的控制器公司

function delete () { 
    foreach($this->input->post() as $item => $value){ 
     ${$item} = $value;//making variables $employee_id, $company_id 
    } 
    //logic to delete 
} 

您需要发送邮寄该信息或几乎相同发送它得到

+0

你是对的,但是我必须给@ mega6382点以来的首先。 –