1. 程式人生 > >折騰自己的部落格——第五回——介面設計

折騰自己的部落格——第五回——介面設計

文章目錄


前期暫時不做註冊介面,先實現基本功能。


介面規範

版本控制

  • 需要給介面增加版本資訊,如:/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
}