[英]Which schema is better in web service API design
最近,我們的團隊將為我們現有的網站開發移動(iphone,android平台)應用程序,讓用戶可以使用該應用程序通過應用程序更容易閱讀我們的內容。
但是我們的團隊在API返回的JSON模式中有不同的視圖,下面是示例響應。
架構類型1:
{
"success": 1,
"response": {
"threads": [
{
"thread_id": 9999,
"title": "Topic haha",
"content": "blah blah blah",
"category": {
"category_id": 100,
"category_name": "Chat Room",
"category_permalink": "http://sample.com/category/100"
},
"user": {
"user_id": 1,
"name": "Hello World",
"email": "helloworld@hello.com",
"user_permalink": "http://sample.com/user/Hello_World"
},
"post_ts": "2012-12-01 18:16:00T0800"
},
{
"thread_id": 9998,
"title": "asdasdsad ",
"content": "dsfdsfdsfds dsfdsf ds",
"category": {
"category_id": 101,
"category_name": "Chat Room 2",
"category_permalink": "http://sample.com/category/101"
},
"user": {
"user_id": 2,
"name": "Hello baby",
"email": "hellobaby@hello.com",
"user_permalink": "http://sample.com/user/2"
},
"post_ts": "2012-12-01 18:15:00T0800"
}
]
}
}
架構類型2:
{
"success": 1,
"response": {
"threads": [
{
"thread_id": 9999,
"title": "Topic haha",
"content": "blah blah blah",
"category": 100,
"user": 1,
"post_ts": "2012-12-01 18:16:00T0800"
},
{
"thread_id": 9998,
"title": "asdasdsad ",
"content": "dsfdsfdsfds dsfdsf ds",
"category": 101,
"user": 2,
"post_ts": "2012-12-01 18:15:00T0800"
}
],
"category": [
{
"category_id": 100,
"category_name": "Chat Room",
"category_permalink": "http://sample.com/category/100"
},
{
"category_id": 101,
"category_name": "Chat Room 2",
"category_permalink": "http://sample.com/category/101"
}
],
"user": [
{
"user_id": 1,
"name": "Hello World",
"email": "helloworld@hello.com",
"user_permalink": "http://sample.com/user/Hello_World"
},
{
"user_id": 2,
"name": "Hello baby",
"email": "hellobaby@hello.com",
"user_permalink": "http://sample.com/user/Hello_baby"
}
]
}
}
一些開發人員聲稱如果使用模式類型2,
我不知道架構類型2是否確實增強了。 因為我讀了這么多API文檔,所以從未見過這種類型的架構設計。 對我來說,它看起來像一個關系數據庫。 所以我幾乎沒有問題,因為我沒有設計Web服務API的經驗。
謝謝。
當我為android做這樣的應用程序時,我只解析一個JSON並將其放入數據庫。 后來我使用ContentProvider來訪問它。 在您的情況下您可以使用第二個架構,但沒有用戶,類別部分。 使用延遲加載,但它將是一個很好的解決方案,以防類別和用戶經常重復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.