折騰自己的部落格——第五回——介面設計
阿新 • • 發佈:2018-11-29
文章目錄
前期暫時不做註冊介面,先實現基本功能。
介面規範
版本控制
- 需要給介面增加版本資訊,如:
/api/v1.0/user/login
狀態碼(待完善)
Code | 說明 |
---|---|
200 | 請求成功 |
401 | 認證失敗 |
響應體結構
欄位 | 型別 | 說明 |
---|---|---|
code | number | 狀態碼 |
msg | string | 資訊 |
data | object/array | 資料體 |
登入介面
描述:
- 使用者認證使用
jwt
方式
請求url:
- 地址:
/api/v1/user/login
請求方式:
POST
請求引數:
引數名 | 必填 | 型別 | 說明 |
---|---|---|---|
phone | 是 | string | 手機號 |
password | 是 | string | 密碼 |
type | 是 | string | 登入方式1密碼2簡訊 |
請求示例:
{
"phone": "18888888888",
"password": "123456",
"type": 1
}
// 或
{
"phone": "18888888888",
"password": "1234",
"type": 2
}
返回引數:
引數名 | 型別 | 說明 |
---|---|---|
token | string | token |
-userInfo | object | 使用者資訊 |
id | number/string | 使用者id |
name | string | 使用者姓名 |
phone | string | 手機號 |
返回示例:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJpYXQiOjE1NDE0MDMwMjl9.JCI4SpAegGpl3tNtN4gNHBavl5BdDaXbXmkEupAB-6w",
"userInfo": {
"id": "10001",
"name": "Johnson",
"phone": "18888888888"
}
}
儲存文章介面
描述:
- 儲存文章預設為草稿,也可直接釋出
請求url:
- 地址:
/api/v1/post/save
請求方式:
POST
請求引數:
引數名 | 必填 | 型別 | 說明 |
---|---|---|---|
title | 是 | string | 文章標題 |
content | 是 | string | 內容 |
abstract | 否 | string | 摘要 |
status | 是 | string | 狀態(draft/published) |
請求示例:
{
"title": "資料庫設計",
"abstract": "",
"content": "## 使用者表",
"status": 'draft'
}
返回引數:
引數名 | 型別 | 說明 |
---|---|---|
id | int | id |
title | string | 標題 |
abstract | string | 摘要 |
content | string | 內容 |
status | string | 狀態 |
createdAt | date | 建立日期 |
updatedAt | date | 更新日期 |
deleteAt | date | 刪除日期 |
返回示例:
{
"id":1,
"title": "資料庫設計"
"abstract": "",
"content": "## 使用者表",
"status": "draft",
"created_at": "2018-08-08",
"created_at": "2018-08-15",
"deleted_at": null
}
獲取文章列表介面
描述:
- 文章列表
請求url:
- 地址:
/api/v1/post/list
請求方式:
GET
請求引數:
引數名 | 必填 | 型別 | 說明 |
---|---|---|---|
pageSize | 是 | number | 每頁數量 |
page | 是 | number | 當前頁數 |
請求示例:
/api/v1/post/list?pageSize=10&page=2
返回引數:
引數名 | 型別 | 說明 |
---|---|---|
id | int | id |
title | string | 標題 |
abstract | string | 摘要 |
createdAt | date | 建立日期 |
updatedAt | date | 更新日期 |
返回示例:
{
"pageSize": 10,
"page": 2,
"total": 1,
"list": [{
"id":1,
"title": "資料庫設計"
"abstract": "",
"createdAt": "2018-08-08",
"createdAt": "2018-08-15",
}]
}
獲取文章詳情介面
描述:
- 儲存文章預設為草稿,也可直接釋出
請求url:
- 地址:
/api/v1/post/detail
請求方式:
GET
請求引數:
引數名 | 必填 | 型別 | 說明 |
---|---|---|---|
id | 是 | number | id |
請求示例:
/api/v1/post/detail?id=12345
返回引數:
引數名 | 型別 | 說明 |
---|---|---|
id | int | id |
title | string | 標題 |
content | string | 內容 |
status | string | 狀態 |
createdAt | date | 建立日期 |
updatedAt | date | 更新日期 |
deleteAt | date | 刪除日期 |
返回示例:
{
"id":12345,
"title": "資料庫設計"
"content": "## 使用者表",
"status": "draft",
"created_at": "2018-08-08",
"created_at": "2018-08-15",
"deleted_at": null
}