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 实现流畅数据流

相关文章
相关标签/搜索