后端框架的基本构成
1. 路由
1.1 统一的router配置,例如 express,koa等
1.2 注解的路由配置,例如StringBoot
建议采1.2方式,添加方法,即可添加路由,不必修改两处文件,方便
2. 验证
2.1 在model上用注解添加验证规则,在方法上用model上的验证规则,例如SpringBoot的方式,注解写多个验证规则不太方便
2.2 用验证库设置验证规则,验证request的入参,如fluent-validator,joi等,可以设置复杂多样的验证规则,可以满足复杂场景
建议采用2.2方式
3. 认证
3.1 cookie-session,需要维护session_id,分布式场景不易应用
3.2 JWT token
建议参与3.2
4. 异常
不要直接在方法种try/catch,捕获异常,而是要自定义特殊异常,抛出异常,由全局捕获,写入日志
自定义异常,可以作为全局包,供所有类使用,例如
ParamException
NotFoundException
...
5. 日志
后端框架一定要有自己的日志系统,将所有的Exception,错误,业务记录,等等,全部写入日志
6. 模板
在需要服务端渲染的场景,后端要提供模板支持。
模板支持,要拥有以下几种能力:
1. 模板引用,可以include引用其他模板,并且支持跨文件夹
2. 模板继承,可以继承一个模板已有的内容
目前比较好的实现是 jinja2,具体说明可参考模板应具有的能力