2017-10-04 132 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點以來的首先。 –