RESTful規範

RESTful規範

 
css

 

web服務交互

  咱們在瀏覽器中能看到的每一個網站,都是一個web服務。那麼咱們在提供每一個web服務的時候,

  都須要先後端交互,先後端交互就必定有一些實現方案,咱們一般叫web服務交互方案。

  目前主流的三種web服務交互方案:

    -- REST ( Representational State Transfer)表述性狀態轉移

    -- SOAP (Simple Object Access Protocol)  簡單的對象訪問協議

    -- XML-RPC (XML Remote Procedure Call)基於XML的遠程過程調用

  XML-RPC是經過XML將調用函數封裝,並使用HTTP協議做爲傳送機制。

  後來在新的功能不斷被引入下,這個標準慢慢演變成爲今日的SOAP協定。

  SOAP服務則是以自己所定義的操做集,來訪問網絡上的資源。

  SOAP也是基於XML的,可是它不僅限於HTTP協議的傳輸,包括TCP協議,UDP協議均可以傳輸。

  REST是Roy Thomas Fielding博士於2000年在他的博士論文裏提出來的。

  REST相比SOAP更加簡潔,性能和開發效率也有突出的優點。

  咱們今天主要說一下這個REST,如今愈來愈多的web服務開始採用REST風格設計和實現。

  例如,amazon.com提供接近REST風格的Web服務進行圖書查找;雅虎提供的Web服務也是REST風格的。

  咱們接下來要學的框架也是遵循REST風格的,那麼咱們來看下它究竟是個什麼樣的風格,

  瞭解了它是什麼後,咱們看下它的優勢是什麼,咱們爲何用它。

REST風格

資源 網頁中能看到的都是資源
    URL 統一資源定位符
    URI 統一資源標識符

統一資源接口
    對資源的操做根據HTTP請求方式的不一樣來進行不一樣的操做
    遵循HTTP請求方式的語義

先後端傳輸的是資源的表述
展示的是資源的轉態

凡是遵循TEST風格實現的先後端交互都叫RESTful架構

核心思想

面向資源去編程  url中儘可能名詞不要動詞
根據HTTP請求方式的不一樣對資源進行不一樣的

在url中體現的

體現版本
    https://v3.bootcss.com/
    https://.bootcss.com/v3

體現是不是API
     https://v3.bootcss.com/api

有過濾條件
     https://v3.bootcss.com/course?page=1

儘可能用https

在返回值中

攜帶狀態碼
    1**   信息,服務器收到請求,須要請求者繼續執行操做
   2**  成功,操做被成功接收並處理
   3**  重定向,須要進一步的操做以完成請求
   4**  客戶端錯誤,請求包含語法錯誤或沒法完成請求
   5**  服務器錯誤,服務器在處理請求的過程當中發生了錯誤

返回值
    get  返回查看的全部或者單條數據
    post 返回新增的這條數據
    put/patch 返回更新的這條數據 
    delete 返回值空

攜帶錯誤信息

攜帶超連接
    在不分離的項目用的多
  ret = {
        code: 1000,
        data:{
            id:1,
            name:'小強',
            depart_id:http://www.luffycity.com/api/v1/depart/8/
        }
    }
相關文章
相關標籤/搜索