關於

溝通管道

JSON:API 是

編輯者

本規格書目前有四位活躍的編輯者

以下榮譽編輯者已不再活躍

歷史

JSON:API 最初由 Yehuda Katz 於 2013 年 5 月起草。這個第一個草案是從 Ember Data 的 REST adapter 隱含定義的 JSON 傳輸中提取出來的。

一般來說,Ember Data 的目標是消除每個應用程式為了與以明確定義的方式進行通訊的伺服器通訊而需要編寫臨時程式碼的需求。

有些伺服器,例如 Firebase、Parse 和 CouchDB,已經為客戶端定義了嚴格的通訊協定,並且非常適合 Ember Data。相比之下,使用 Rails、Node 和 Django 編寫的伺服器往往是以「REST 風格」編寫的,但缺乏插入式客戶端程式碼所需的精確度。

Ember Data 中的 REST Adapter 隱含地定義了一個協定,自定義伺服器可以實作該協定,以便為其所有資源獲得一個插入式客戶端。ActiveModel::Serializers 是一個 Rails 的概念驗證程式庫,它實作了 Ember Data 預期的序列化格式。

記錄的建立、更新和刪除是由 Ember Data 程式庫隱含定義的,並且與 Rails、Django 和 Node 開發人員廣泛使用的慣例非常接近。

此媒體類型的目標是在以下方面取得平衡

  • 一種通用的媒體類型,可以適用於廣泛的用例,包括常用的關係類型
  • 與現有的伺服器端框架實務的相似性(以及為了除錯的人類可讀性)
  • 伺服器端易於實作
  • 客戶端易於實作

本規格書於 2015 年 5 月 29 日達到穩定版本 1.0。

更新歷史

  • 2022-09-30:1.1 正式版發布。
  • 2022-08-22:1.1 發布候選版本 4 發布。
    • 正式定義了規格和實作的語義
    • 改進了擴展設定檔的定義。
    • 闡明了有關預期和允許的回應、查詢參數等方面的細節。
  • 2020-10-01:1.1 發布候選版本 3 發布。
    • 改進了連結物件。連結物件的 params 成員已被移除,以便更好地與其他 JSON 連結序列化保持一致。 anchor target 屬性也被移除。它可能會在未來的次要版本中恢復。
  • 2020-08-20:1.1 發布候選版本 2 發布。
  • 2018-12-01:1.1 發布候選版本 1 發布。
  • 2015-05-29:1.0 正式版發布。
  • 2015-05-21:1.0 發布候選版本 4 發布。
  • 2015-03-16:1.0 發布候選版本 3 發布。
  • 2015-02-18:1.0 發布候選版本 2 發布。
  • 2014-07-05:1.0 發布候選版本 1 發布。
  • 2013-07-21:媒體類型註冊已向 IANA 完成。
  • 2013-05-03:草案的初始版本發布。