JSON API 是數(shù)據(jù)交互規(guī)范,用以定義客戶端如何獲取與修改資源,以及服務(wù)器如何響應(yīng)對(duì)應(yīng)請(qǐng)求。
JSON API設(shè)計(jì)用來(lái)最小化請(qǐng)求的數(shù)量,以及客戶端與服務(wù)器間傳輸?shù)臄?shù)據(jù)量。在高效實(shí)現(xiàn)的同時(shí),無(wú)需犧牲可讀性、靈活性和可發(fā)現(xiàn)性。
JSON API需要使用JSON API媒體類型(application/vnd.api+json) 進(jìn)行數(shù)據(jù)交互。
JSON API服務(wù)器支持通過(guò)GET方法獲取資源。而且必須獨(dú)立實(shí)現(xiàn)HTTP POST, PUT和DELETE方法的請(qǐng)求響應(yīng),以支持資源的創(chuàng)建、更新和刪除。
JSON API服務(wù)器也可以選擇性支持HTTP PATCH方法 [RFC5789]和JSON Patch格式 [RFC6902],進(jìn)行資源修改。JSON Patch支持是可行的,因?yàn)槔碚撋蟻?lái)說(shuō),JSON API通過(guò)單一JSON 文檔,反映域下的所有資源,并將JSON文檔作為資源操作介質(zhì)。在文檔頂層,依據(jù)資源類型分組。每個(gè)資源都通過(guò)文檔下的唯一路徑辨識(shí)。
文檔中的關(guān)鍵字, "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" 依據(jù)RFC 2119 [RFC2119]規(guī)范解釋。