- 工程主干框架基于express + mongodb;
- 不需要MVC,不需要写代码,一分钟生成项目服务端;
- 一个简简单单的项目配置文件,全自动生成工程所有模块的增删改查接口!
- 支持批量插入、批量查询,支持登录鉴权/管理员鉴权、支持静态文件服务、上传服务,全部零代码!
- 可能是目前最好用mock服务解决方案!
# 源码地址任选其一
git clone https://gitee.com/steveouyang/mongo-expresser.git
git clone https://github.com/ouyangsuo/mongo-expresser.git
cd mongo-expresser
npm install
配置实例:src/project.config.json
{
"dbName": "mydb",//自动生成的数据库名称
"port": 8002,//项目运行端口
"jwtSecret": "jinwandalaohu",//jwtToken秘钥
"tokenAge": "3600s",//登录token有效期
// 模块接口
"routes": [
{
"name": "film", //模块名称电影 = 数据库中的collection名称 = RESTful风格的接口前缀
// 接口中间件配置
"middlewares": {
"create": ["adminCheck"], // 为单个添加接口【POST:/film/0】配置管理员校验中间件
"createMany": ["adminCheck"], // 为批量添加接口【POST:/film/-1】配置管理员校验中间件
"retrieve": [], // 详情查询接口【GET:/film/:id】无需登录鉴权
"retrieveMany": [], // 批量查询接口【GET:/film/0】无需登录鉴权
"update": ["adminCheck"], // 为数据更新接口【PUT:/film/:id】配置管理员校验中间件
"delete": ["adminCheck"] // 为数据删除接口【DELETE:/film/:id】配置管理员校验中间件
}
},
{
"name": "city", //模块名称城市 = 数据库中的collection名称 = RESTful风格的接口前缀
// 接口中间件配置
"middlewares": {
"middlewares": {
"create": ["adminCheck"], // 为单个添加接口【POST:/city/0】配置管理员校验中间件
"createMany": ["adminCheck"], // 为批量添加接口【POST:/city/-1】配置管理员校验中间件
"retrieve": ["loginCheck"], // 详情查询接口【GET:/city/:id】配置登录校验中间件
"retrieveMany": ["loginCheck"], // 批量查询接口【GET:/city/0】配置登录校验中间件
"update": ["adminCheck"], // 为数据更新接口【PUT:/city/:id】配置管理员校验中间件
"delete": ["adminCheck"] // 为数据删除接口【DELETE:/city/:id】配置管理员校验中间件
}
}
}
]
}
npm run start
此时工程所有模块的增删改查接口已经全部生成完毕!
GET: baseUrl/<public下的文件路径>
POST: baseUrl/file/upload
# 上传文件页面
baseUrl/page/file_upload.html
# 用户注册
POST: baseUrl/user/register + form或json格式的请求体
# 用户登录
POST: baseUrl/user/login + form或json格式的请求体
此处以电影为例:
# 添加单个电影
POST: baseUrl/film/0 + form或json格式的请求体
# 批量添加
POST: baseUrl/film/-1 + json数组格式的请求体
# 删除电影
DELETE: baseUrl/film/:id
# 修改电影
PUT: baseUrl/film/:id + form或json格式的请求体
# 查询电影详情
GET: baseUrl/film/:id
# 查询所有电影
GET: baseUrl/film/0
- 以上所有接口皆可配置登录鉴权/管理员鉴权;
- public/json目录下携带了
films.json
、cities.json
、cinemas.json
三个测试数据,各位看官可以此快速测试部署效果; - 2.0中将会添加分页查询功能,敬请期待!
- 用户模块默认检测三个字段:username,password,admin;
- 后续通过admin字段的true或false判断是否以管理员身份登录;
- 登录成功后的返回信息会携带jwtToken,其秘钥即为配置文件中配置的秘钥;
- 对后续模块接口的访问需要按需在请求头中携带token
headers:{
"authorization":登录时发放的token值
}
不要忘记程序员三连哦:star! follow! fork!