在上個章節,有提到http的CURD,這一個概念。在之前的網頁技術中,從之前在寫在一起處理Html、JavaScript,呼叫資料庫處理,到現在分成多層式的架構,就像是目前比較流行的MVC。
而什麼是MVC,簡單來說,就是將多層式的處理,分成Model、View、Controller,下述為此三項的說明:
而在Controller中,跟資料庫的溝通,之前都是用Web Service來呼叫及操作,可是沒有統一的標準,所以,造成很多標準不一的Web Service介面。而在最近,有提出REST的設計理念。
REST是REpresentational State Transfer的縮寫,它是一個設計理念,而這個概念也漸漸變成目前Web設計的主流。REST把所有WEB上的東西都以一個資源(Resource)去看待,並且所有資源都會有一個URI(Uniform Resource Identifier),這個概念就是們常見的網址。
進一步去看http,稍微瞭解的人應該都知道http有那些常用的method,常見的有get跟post,而比較少見的有put跟delete。在當初設計http時,有這樣的設計是希望get代表取得資源,post代表的是新增資源,而put跟delete就分別代表更新跟移除資源。
看起來,是不是就對應到資料庫設設計的CRUD (Create,Read,Update,Delete)。那RESTful Web Services又是什麼呢? RESTful Web Services(或稱RESTful Web API)是以HTTP為基礎,必且有以下三個特色
一、 所有的API或是以Resource的形式存在。
二、 服務可以接受與返回某個MIME-TYPE,最常見的是JSON格式,也可以回傳PNG/JPG/TXT等格式。
三、 對資源的操作會支援各種請求方法 (例如get、post、put、delete )。
而在Angular在呼叫http,也是用上述的方式來進行,在之前的章節中,取得所有員工資料或個別員工資料,都是用get的方式來取得,後續要做的新增、更新、刪除,也是有對應到。下表為http的整理:
後續,再說明如何做新增、更新、刪除的動作。