React + MobX + Electron + Node.js + MongoDB 全棧項目開發實踐(四)—— API 設計

在客戶端實現了狀態管理以後,須要設計一下服務器端了。數據庫

以前全部的存儲都是使用的本地瀏覽器緩存,這樣一不當心清理緩存以後就沒了。仍是放在服務器上比較合適。瀏覽器

這就須要處理用戶註冊、登陸、session 的問題。不過在現階段還不是核心的功能,在開發階段能夠只設置單個用戶。緩存

本節主要記錄一下主要功能的 API 設計。要點就是要以一個統一的結構來規劃 API,爲以後實際編碼提升效率。服務器

參考了以前抱同窗大腿作的項目,設計了幾個主要 API 的請求 url、數據格式以及返回值。session

舉幾個例子:數據庫設計

Task

Create a task

POST /task
複製代碼

Parameterspost

{
    "name": "Fruit",
    "desc": "Eat fruit every day",
    "type": "task",
    "isOneTime": false,
    "score": 2,
    "maxTimes": 3
}
複製代碼

When isOneTime is true, maxTimes will be set to 1.測試

Responseui

Status: 201 Created

{
    "taskId": 1
}
複製代碼

Delete a task

DELETE /projects/:projectId
複製代碼

Response編碼

Status: 200 OK

{}
複製代碼

Log

Create a log

POST /projects/:projectId/logs
複製代碼

Parameters

{
    "userId": 1,
    "taskId": 1
}
複製代碼

Response

Status: 201 Created

{
    "projectId": 1
}
複製代碼

有了一個詳細的文檔,就可以在以後的開發階段快速按計劃實現。

在接下來的文章中,將會記錄數據庫設計、服務端結構以及 API 開發測試。

系列文章:

React + MobX + Electron + Node.js + MongoDB 全棧項目開發實踐(零)前言

React + MobX + Electron + Node.js + MongoDB 全棧項目開發實踐(一)

React + MobX + Electron + Node.js + MongoDB 全棧項目開發實踐(二)容許 decorator

React + MobX + Electron + Node.js + MongoDB 全棧項目開發實踐(三)使用 MobX 實現流暢數據流

相關文章
相關標籤/搜索