CodeIgniter Rest Server 學(xué)習(xí)筆記

CodeIgniter Rest Server 學(xué)習(xí)筆記

什么是CodeIgniter Rest Server谭羔?

利用一個庫文件、一個配置文件以及一個控制器就可以實(shí)現(xiàn)完整的CodeIgniter開發(fā)RESTful架構(gòu)API的一個工具痘煤。

Installation

只需要向CodeIgniter文件夾中的composer.json文件添加一下代碼:

"chriskacerguis/codeigniter-restserver": "^3.0"

然后運(yùn)行一下命令安裝依賴包:

composer install

Handling Requests

當(dāng)你的控制器繼承REST_Controller 的時候,這個控制器中的方法名之后應(yīng)該跟著HTTP請求動詞,例如:

require 'application/vendor/autoload.php';
class Books extends REST_Controller
{
  public function index_get()
  {
    // Display all books
  }

  public function index_post()
  {
    // Create a new book
  }
}

對于PUT饮笛、GET判导、POSTHTTP請求動詞嫉父,可以通過以下方法來獲取參數(shù)

$this->get('blah'); // GET param
$this->post('blah'); // POST param
$this->put('blah'); // PUT param

而對于DELETE請求,則只能通過在方法中添加參數(shù)眼刃,然后通過URL傳入?yún)?shù)绕辖,來進(jìn)行訪問:

public function index_delete($id)
{
    $this->response([
        'returned from delete:' => $id,
    ]);
}

無論請求是否為GET請求,只要是通過URL傳入的參數(shù)擂红,都可以通過以下方法獲取參數(shù):

$this->query('blah'); // Query param

Responses

可以通過類提供的response()方法來返回任意數(shù)據(jù):

public function index_get()
{
  $this->response($this->db->get('books')->result());
}

若成功返回仪际,那么它將會自動帶上一個HTTP 200 OK 狀態(tài)碼,你也可以通過response() 方法的第二個參數(shù)來自定義返回的狀態(tài)碼:

public function index_post()
  {
    // ...create new book
    $this->response($book, 201); // Send an HTTP 201 Created
  }

如果你沒有設(shè)置一個自定義的狀態(tài)碼昵骤,并且返回的數(shù)據(jù)出錯了(空數(shù)組或者是空串)树碱,那么狀態(tài)碼將會被自動設(shè)置為404 Not Found

$this->response([]); // HTTP 404 Not Found
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市变秦,隨后出現(xiàn)的幾起案子成榜,更是在濱河造成了極大的恐慌,老刑警劉巖蹦玫,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赎婚,死亡現(xiàn)場離奇詭異刘绣,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)挣输,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進(jìn)店門纬凤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人撩嚼,你說我怎么就攤上這事移斩。” “怎么了绢馍?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵向瓷,是天一觀的道長。 經(jīng)常有香客問我舰涌,道長猖任,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任瓷耙,我火速辦了婚禮朱躺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘搁痛。我一直安慰自己长搀,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布鸡典。 她就那樣靜靜地躺著源请,像睡著了一般。 火紅的嫁衣襯著肌膚如雪彻况。 梳的紋絲不亂的頭發(fā)上谁尸,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天,我揣著相機(jī)與錄音纽甘,去河邊找鬼良蛮。 笑死,一個胖子當(dāng)著我的面吹牛悍赢,可吹牛的內(nèi)容都是我干的决瞳。 我是一名探鬼主播,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼左权,長吁一口氣:“原來是場噩夢啊……” “哼皮胡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起涮总,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤胸囱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后瀑梗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體烹笔,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡裳扯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了谤职。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饰豺。...
    茶點(diǎn)故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖允蜈,靈堂內(nèi)的尸體忽然破棺而出冤吨,到底是詐尸還是另有隱情,我是刑警寧澤饶套,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布漩蟆,位于F島的核電站,受9級特大地震影響妓蛮,放射性物質(zhì)發(fā)生泄漏怠李。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一蛤克、第九天 我趴在偏房一處隱蔽的房頂上張望捺癞。 院中可真熱鬧,春花似錦构挤、人聲如沸髓介。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽唐础。三九已至,卻和暖如春夫否,著一層夾襖步出監(jiān)牢的瞬間彻犁,已是汗流浹背叫胁。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工凰慈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人驼鹅。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓微谓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親输钩。 傳聞我的和親對象是個殘疾皇子豺型,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)买乃,斷路器姻氨,智...
    卡卡羅2017閱讀 134,665評論 18 139
  • 一說到REST,我想大家的第一反應(yīng)就是“啊剪验,就是那種前后臺通信方式肴焊∏傲”但是在要求詳細(xì)講述它所提出的各個約束,以及如...
    時待吾閱讀 3,430評論 0 19
  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 10,988評論 6 13
  • 成功的大門都是虛掩的娶眷,不過似嗤,虛掩著的大門不會自動打開請你入內(nèi),而是要靠你的雙手用力才能把它推開届宠。 ...
    潔思漫講閱讀 326評論 0 1
  • Firefox xthunder 擴(kuò)展無法調(diào)用綠色版迅雷解決? 標(biāo)簽(空格分隔): Firefox 在使用綠色版本...
    lumicinta閱讀 1,052評論 0 0