Skip to content

chris-envas/koa-restful-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

koa-restful最佳实践

这是一个关于RESTFUL的最佳实践,接口定义参照Github API标准

之所以采用koa,因其精小强悍,适合作为Node.js后端服务入门之选,且优秀的中间件机制,可快速扩展插件,自由灵活

在生产项目中,笔者推荐使用Egg.js、nest.js等企业级框架,采用统一的工程规范,无需关心基础架构才是上策!

之所以采用koa,因其精小强悍,适合作为Node.js后端服务入门之选,且优秀的中间件机制,可快速扩展插件,自由灵活

在真实的项目中,笔者依然推荐使用Egg.js、nest.js等企业级框架,采用统一的工程规范,无需关心基础架构才是上策!

项目中采用的中间件:

  • koa-body - 用于解析请求实体,不仅支持常规表单等参数解析,还支持文件上传等多种格式

  • koa-json-error - 支持以json方式返回的错误信息,并支持堆栈信息等酷炫方式

  • koa-parameter - 用于koa请求参数校验,自动挂载于ctx.verifyParams

  • koa-router - koa社区使用最广泛的路由模块

  • koa-static - 静态资源托管

  • jsonwebtoken - 快速生成加密令牌token

  • koa-jwt - 基于jsonwebtoken的jwt权限验证中间件

  • mongoose - 用于Node.js的mogoDB对象模型关联工具

  • nodemon - 监听文件,实时调试工具

API接口:

  • 用户

    • 用户登录

    • 用户注册

    • 更新用户

    • 删除用户

    • 获取用户列表 - 支持分页 (page, per_page)

      • /users/userID?page=1&per_page=10 - 第一页 10条数据
    • 获取指定用户 - 支持选择性查找字段(fileds) 支持话题模块引用

      • /users/userID?fields=employments;locations
  • 关注

    • 关注用户
    • 取消关注
    • 关注人列表
    • 粉丝列表
  • 话题

    • 创建话题
    • 获取指定话题 - 支持选择性查找字段(fileds)
    • 更新话题
    • 获取话题列表 - 支持分页 (page, per_page),支持模糊搜索(q)
    • 话题关注
    • 取消话题关注
  • 其他

    • 文件上传

认证

  • JWT认证

数据库

  • MongoDB - 基于MongoDB提供

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published