-1
我正在製作一個API來允許其他人將我們的服務集成到他們自己的系統中。我的API響應足夠好嗎?
尋找要制定響應的最好方式是不容易的 - 我見過做的這麼多不同的方式。很多時候它做得很差,我和其他人很難使用它。
這是多麼我已經做到了:
<xml>
<HttpResponse>200</HttpResponse>
<data>
<report>
<id>200</id>
<date>07.03.2013 11:13:00</date>
<title>Fake report 1</title>
<content>Lorem ipsum dolor sit amet.</content>
</report>
<report>
<id>448</id>
<date>10.04.2013 12:13:34</date>
<title>Fake report 2</title>
<content>Lorem ipsum dolor sit amet.</content>
</report>
<report>
<id>927</id>
<date>25.10.2013 11:49:34</date>
<title>Fake report 3</title>
<content>Lorem ipsum dolor sit amet.</content>
</report>
</data>
</xml>
如果有錯誤,那麼HttpResponse對象將得到正確的代碼,以突出這一點,該數據將包含錯誤的descprition,這樣:
<xml>
<HttpResponse>418</HttpResponse>
<data>
<error>
<code>AB43</code> /* <<-- this code says what I can search for in the code to find the exact process/line where it failed */
<description>You are the one who messed up!!!</description>
</error>
</data>
</xml>
我的問題很簡單:這個回答有什麼意義嗎?
是否有我沒有考慮到一個情況?
將有問題的人,從這樣的響應中獲得數據?
我還能怎麼辦呢?
BTW:我不會用JSON,討論結束!
我會將錯誤節點移動到根級別,而不是在數據節點下。所以你要麼得到一個錯誤或數據。在我看來,它更易於理解和檢查。 而我會使用JSON ;-) –
@RotemHermon JSON在冗長的一面有很多意義。最終,這兩種技術都是爲非常相似的目標而設計的。功能上,沒有什麼區別。 – Gusdor
除了代碼和描述之外,還要爲錯誤添加一個名稱,比如「index out of bounds」,它是常量,並且可以用字符串相等性進行檢查。然後在描述中,添加可以改變的細節,並且因此可以不用字符串相等來檢查,例如, 「最高允許指數爲35,但供應指數爲37」。這將使得最終必須處理錯誤的代碼更容易讀取和寫入。 –