接口开发时候做CRUD,我们既然有conroller层 service层 dao层,那么接口开发service层是不是也可以进行 一些分层,以便提供流程式的开发?
我进行接口开发步骤汇总一下,希望能够形成流程性质的东西。分为4层
步骤一:返回对象创建层
创建返回对象。例如 需要返回的json 就创建json 需要返回的是某个约定的返回类 就创建它。 在任何一个判空和数据校验失败的时候,直接装填返回对象,进行返回。
步骤二:参数校验层
对输入的参数分别进行校验。参数判空,判断数据是否达到能接口能处理的程度。这个地方判空和数据校验处理,可以使不符合接口数据的请求直接返回,不占用数据库等资源,适用于高并发。
步骤三:业务处理层
进行业务处理,如访问数据库等。这里面有四个小步骤:
(1)访问资源前数据校验和数据准备。
(2) 访问数据库或者其他数据源,包括 redis,mq,他人接口等 。
(3)对返回的数据进行数据判空和校验,判断数据是否符合操作。如果符合接下来的操作则进行第4步,如果不符合把返回失败的信息装填到返回对象里,进行返回。
(4)对符合的数据进行处理。
这4个步骤是循环使用的,必不可少。在处理复杂逻辑时候,就是循环进行这4步操作 。其中步骤(2),访问数据库是dao层,其他的均是service层。
步骤四:数据返回层
对于正确运行到最后的请求,在这里进行数据的返回准备,对已有数据进行整合。进行返回。
开发步骤流程化,可以减少思考时间,我们更加的专注于业务的处理,而且按照此开发步骤的话能大大的减少出错的可能,程序的健壮性,接口的健壮性都会大大提高。傻瓜式流程开发,减少出错。