這次的作業是一個團隊開發的大項目,我們在這裏選擇的是製作一個博客網站
我在這次作業中的主要任務比較簡單
主要是是博客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