簡體   English   中英

通過HTTP使用JSON的HATEOAS

[英]HATEOAS with JSON over HTTP

我有一個簡單的類似CRUD的Web-API,使用JSON over HTTP( Person實體的存儲庫,一個聯系人應用程序)。 現在我想把它設計成適合RESTful架構的它。 這一切都非常簡單,除了一件事:

如果我沒有html,如何實現HATEOAS約束? 什么是好的,如果主要(目前唯一的)內容類型是JSON,只包含資源/網址背后的實際實體,那么建立HATEOS的方法?

想到的一件事是link HTTP標頭,但這真的是要走的路嗎?

雖然普通的JSON不能為你提供鏈接關系,但還有其他媒體類型可以構建JSON(就像Atom的XML構建方式一樣)。 我個人最喜歡的是超文本應用語言(HAL)

我理解鏈接標題的方式,它們應該被用於真正無法提供鏈接的媒體類型......像圖像和其他非文本資源。 雖然您可以對基於文本的資源使用鏈接頭,但是您沒有相同的靈活性來定位資源的各個部分; 你幾乎堅持與整個資源的鏈接。

不要使用特殊媒體類型使事情變得復雜。 在我的碩士論文中,我利用鏈接頭連接到其他相關資源。 另外,我使用URL關系類型和URL http鏈接的組合在json中添加了超鏈接。 Json不是超媒體格式,但可以作為一種格式使用。 請參閱JSON mime:vnd.collection + JSON。

我能給出的最好建議是盡可能多地使用鏈接頭,直到社區決定如何在API中實現hateoas。 使用已有的關系類型(顯式)並定義自己的關系類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM