albi v4.0.0
albi
Web framework base on koa 2.x.
模块分类
controllers主要是实现路由的相关处理函数,对于参数的校验,services的调用方,通过不同的service获取路由的响应结果services各业务相关的实现变,该组件主要实现与数据库的相关操作,以及其它依赖服务的调用实现等。helpers各类公共的组件,主要是与业务无关的各类功能实现middlewares各类常用的中间件,包括session,limit,error等modelsmongodb的model相关定义router路由的调用链定义errors各种出错的定义tasks各类定时执行的任务views模板目录influx-schemasinfluxdb的schema定义
常用Middlware
noQuery要求url中无query参数,主要用于可缓存的请求,为了避免添加参数导致varnish缓存失效,因此如果无参数的可缓存路由处理,尽量添加此middlewarenoCache为了方便varnish判断请求是否可以缓存,对于GET与HEAD请求,如果未设置HeaderCache-Control:no-cache或者query string中无cache-control=no-cache,则以增加cache-control=no-cache,并以302的形式跳转auth.admin验证HTTP请求所带的Auth-Token是否admin,主要用于一些设置系统状态等路由使用level用于限制某此接口在系统level处于较低水平时,直接返回系统繁忙(http status 503)version指定该接口version版本session.read只读取session信息,不做任何的修改session正常的session处理,可以写数据到session
HTTP状态码
对于所有的请求,如果是参数校验出错,状态码为
400对于需要登录的请求,如果是未登录状态,状态码为
401对于
POST请求,正常处理时,状态码为201
License
MIT