服務計算:簡單 web 服務與客戶端開發實戰

這次的作業是一個團隊開發的大項目,我們在這裏選擇的是製作一個博客網站
我在這次作業中的主要任務比較簡單
主要是是博客API格式的設定以及文檔的編寫
我們的這個博客網站比較簡易,其需要的功能大概有一下幾種

  • 獲取所有API列表
  • 獲取所有用戶列表
  • 獲取所有文章列表
  • 獲取某篇文章的具體內容
  • 獲取所有標籤列表
  • 獲得擁有特定標籤的文章列表

而這些API的格式大致如下

  • get/api:獲取所有可以使用的API列表
    data後面的內容是API列表以及各個API的說明
  {
    "data": {
        "/api": "使用GET獲取可用API列表",
        "/api/article": "使用GET獲取全站所有文章列表",
        "/api/article/{articalID}}": "使用GET獲取該文章的具體內容",
        "/api/tag": "使用GET獲取所有tag列表",
        "/api/tag/{tagname}": "使用GET獲取所有擁有此tag的文章列表",
        "/api/user/{user}/article": "使用GET獲取該用戶發表的所有文章列表",
        "api/user": "使用GET獲取用戶列表"
    }
}
  • get /api/user: 獲取所有用戶列表
    所返回的結果是一個用戶的列表,列表中每一個元素都是一個用戶
{
    "data": [
        "un1",
        "un2",
        "un3",
        "un4"
    ]
}
  • get /api/user/{user}/article: 獲取指定用戶發表的所有文章
    返回結果的列表中每一項中有兩個元素,分別是文章的ID與文章標題,每一項代表的文章都是參數中指定的user發出來的
{
    "data": [
        {
            "articleID": "articleid1",
            "title": "title1"
        },
        {
            "articleID": "articleid2",
            "title": "title1"
        }
    ]
}
  • get /api/article:獲取該站全部文章
    與上一個API一樣,返回的也是一個列表,每一項中也有兩個元素,分別是文章ID與文章標題
{
    "data": [
        {
            "articleID": "articleid1",
            "title": "title1"
        },
        {
            "articleID": "articleid2",
            "title": "title1"
        },
        {
            "articleID": "articleid3",
            "title": "title3"
        },
        {
            "articleID": "articleid4",
            "title": "title4"
        }
    ]
}
  • get /api/article/{article}:獲取某篇文章的具體內容
    返回的是一個列表,列表中項包含了參數指定的文章的信息,有文章的作者,題目,內容,標籤等
{
    "data": {
        "user": "un1",
        "title": "title1",
        "body": "",
        "tag": [
            "tagname1"
        ],
        "review": [
            "message1",
            "message1"
        ]
    }
}
  • get /api/tag: 獲取所有標籤列表
    返回一個列表,列表中是各個標籤
{
    "data": [
        "tagname1",
        "tagname2",
        "tagname3",
        "tagname4"
    ]
}
  • get /api/tag/{tag}:獲得擁有特定標籤的文章列表
    返回一個列表,每一項中也有兩個元素,分別是文章ID與文章標題,這裏面每一項表示的文章都有上面參數中指定的tag標籤
{
    "data": [
        {
            "articleID": "articleid1",
            "title": "title1"
        },
        {
            "articleID": "articleid2",
            "title": "title2"
        }
    ]
}

附完整項目地址:
https://github.com/Service-Compute-Group/Course-Project

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章