1. 程式人生 > 遊戲攻略 >《寶可夢朱紫》新精靈單打強度分析

《寶可夢朱紫》新精靈單打強度分析

Restful規範

REST全稱是Representational State Transfer,中文意思是表述(編者注:通常譯為表徵性狀態轉移)。它首次出現在2000年Roy Fielding的博士論文中

RESTFUL是一種定義Web API介面的設計風格,尤其適合前後端分離的應用模式中。

這種風格的理念認為後端開發任務就是提供資料的,對外提供的是資料資源訪問的介面,所以在定義介面時,客戶端訪問的URL路徑就表示這種需要操作的資料資源

事實上,我們可以使用任何一種框架都可以實現符合RESTFUL規範的API介面
  1. 資料的安全保障
url連結一般都採用https協議進行傳輸,注:採用Https協議,可以提高資料		互動過程中的安全性
  1. 介面的特徵表現
     -用api關鍵字標識介面url:
            -[https://api.baidu.com](https://api.baidu.com/)
            -https://www.baidu.com/api
        注:看到api欄位,就代表該請求url連結是完成前後端資料互動的
  1. 多版本共存
-在url連結中標識資料版本
-https://api.baidu.com/v1
-https://api.baidu.com/v2
注:url連結中的v1,v2,就是不同資料版本的提現,(只有在一種資料資源有多版本情況下)
  1. 資料即資源
介面作為前後端互動的媒介其互動的資料又被叫做資源,推薦使用名詞或者名詞的複數形式,對於某些特殊介面,我們可以使用動詞(api/books api/login)
    	- 介面一般都是前後端資料的互動,互動的資料稱之為資源
        	- https://api.baidu.com/users
            - https://api.baidu.com/books
  1. **資源操作由請求方式決定 ** (method)
資源的操作我們直接通過提交的請求方式來決定(get、post、put/patch、delete)
 - 操作資源一般都涉及到增刪改查,以下請求方式來標識增刪改查動作
        https://api.baidu.com/books     -get請求:獲取所有書
        https://api.baidu.com/books/1   -get請求:獲取主鍵為1 的書
        https://api.baidu.com/books     -post請求: 新增一本書
        https://api.baidu.com/books/1   -put請求:整體修改主鍵為1的書
        https://api.baidu.com/books/1   -patch請求:區域性修改主鍵為1 的書
        https://api.baidu.com/books/1   -delete請求:刪除主鍵為1 的書
  1. 過濾
我們可以再url上傳參的形式傳遞搜尋條件
    https://api.example.com/v1/people?limit=10  :指定返回記錄的數量
    https://api.example.com/v1/people?offset=10 :指定返回記錄的開始位置
    https://api.example.com/v1/people?page=2&per_page=100 :指定第幾頁,以及每頁的記錄數
    https://api.example.com/v1/people?sortby=name&order=asc:指定返回結果按照哪個屬性排序,以及排序順序
    https://api.example.com/v1/people?animal_type_id=1 :指定篩選條件
  1. 響應狀態碼
# 正常響應
    200(正常請求)、
    201(建立成功)、
# 重定向響應
    301(永久重定向)、
    302(臨時重定向)、
# 客戶端異常
    403(請求無許可權)、
    404(請求路徑不存在)、
    405(請求方法不存在)、
# 服務端異常
	500(伺服器異常)、

  1. 錯誤處理
應當返回錯誤資訊   error當作key

{
    error:'無許可權操作'
}
  1. 返回結果
根據不同的請求以及請求得到的資料, 服務端返回不同的結果
	GET /collection:返回資源物件的列表(陣列)
    GET /collection/resource:返回單個資源物件
    POST /collection:返回新生成的資源物件
    PUT /collection/resource:返回完整的資源物件
    PATCH /collection/resource:返回完成的資源物件
    DELETE /collection/resource:返回一個空文件
    
  1. 需要url請求的資源需要訪問資源的請求連結
# Hypermedia API ,RESTFUL API最好做到Hypermedia,即返回結果中提供連結,連向其他API方法,使得使用者不查文件,也知道下一步應該做什麼
    {
        "status":0,
        "msg":"OK",
        "results":[
            {
                "name":"肯德基",
                "img":"https://image.baidu.com/ftc/001.png"
            }
            ........
        ]  
    }