Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/littlematch0123/blog-api
使用express和mongodb开发一套使用RESTful架构的博客系统增删改查API
https://github.com/littlematch0123/blog-api
express mongodb mongoose node-js restful
Last synced: about 2 months ago
JSON representation
使用express和mongodb开发一套使用RESTful架构的博客系统增删改查API
- Host: GitHub
- URL: https://github.com/littlematch0123/blog-api
- Owner: littlematch0123
- Created: 2018-02-10T15:04:35.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-06-26T09:44:53.000Z (over 6 years ago)
- Last Synced: 2024-08-01T13:31:06.941Z (5 months ago)
- Topics: express, mongodb, mongoose, node-js, restful
- Language: JavaScript
- Homepage: https://api.xiaohuochai.cc/
- Size: 30.3 KB
- Stars: 9
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 项目说明
该项目是使用 express框架 和 mongodb数据库 开发的一套使用 RESTful 架构的博客系统API
【域名】
api.xiaohuochai.cc
【功能模块】
功能包括认证、用户、类别、文章、评论、点赞和上传图片到七牛
1、认证(apis/auth):手机号注册、用户名密码登录、手机验证码登录
2、用户(apis/user):查询所有用户信息、查询当前用户信息、更新当前用户信息
3、类别(apis/category): 加载所有类别、新增类别、更新类别、删除类别
4、文章(apis/post): 加载所有文章、加载当前文章、新增文章、更新文章、删除文章
5、评论(apis/comment): 加载所有评论、增加评论、更新评论、删除评论
6、点赞(apis/like): 加载所有点赞、增加点赞、取消点赞
7、七牛(apis/qiniu): 获取七牛uploadToken
【项目亮点】
1、API遵循RESTful设计规范
2、用户认证接口实现基于JWT技术
3、使用七牛云作为图床CDN
4、使用阿里云的短信服务实现验证码功能
【RESTful规范设计】
以文章操作为例
```
GET /posts:列出所有文章
POST /posts:新建一个文章
GET /posts/:id:获取某个指定文章的信息
PUT /posts/:id:更新某个指定文章的信息(提供该文章的全部信息)
DELETE /posts/:id:删除某个文章(提供该文章的全部信息)
GET /posts/:id/comments:列出某个指定文章的所有评论
DELETE /posts/:id/comments/:id:删除某个指定文章的指定评论
```【HTTP状态码】
项目中使用到的HTTP状态码
```
200 请求成功【GET】
201 创建或修改或删除成功【POST/PUT/DELETE】
400 参数错误
401 未登录【令牌、用户名、密码错误】
403 禁止访问【权限不足】
404 资源未找到
500 服务器错误
```【自定义状态码code】
项目中使用到的自定义状态码
```
0 成功
1 自定义失败
2 系统失败
3 认证失败
4 权限不足
```
【返回结构】API返回结构设计如下,包括code、message、result或err
```
code 自定义状态码
message 说明信息
result 成功时的结果
err 失败时返回的结果
```0、成功
```
{
code: 0
message: '',
result: {}
}
```
1、自定义失败
```
{
code: 1
message: '自定义文字'
}
```
2、系统失败
```
{
code: 2,
message: err.message,
err: {}
}
```
3、认证失败
```
{
code: 3
message: '认证失败'
}
```
4、权限不足
```
{
code: 4
message: '权限不足'
}
```