请先阅读《阿里巴巴java开发手册》 一下内容可能是开发手册,也可能是我自己根据经验加的,各位看官看看就好。
-
对外接口开发,必须指定将要抛出的异常,并且在接口中,详细说明为什么会抛出这个异常
目的:调用方能根据自身情况,针对情况处理这些异常。 -
禁止为了图方便,直接使用数据库model作为对外接口的参数model
比如在更新用户名称时,为了图方便,直接使用用户数据库model作为post请求的接受参数,然后直接使用mapper.update进行更新。如果我们忘记对用户传入的参数做限制,用户还传递了权限等级等数据库model中的字段,就会一并进行更新,从而造成安全漏洞。 -
service层公共方法,选择数据库model作为入参
这样要求的目的是为了使整体逻辑更加严谨,调用方必须在上层做参数有效性的校验,参数无效是报错还是忽略等等。
比如我现在要删除一个人,实际上线起来,我只需要知道这个用户在数据库中的id,然后删除这条记录就可以了。
但是如果用户传入的数据库记录id不正确呢?我要作何处理?是告诉用户传入参数错误,还是忽略呢?这都不是下层能够决定的事情,而是在对外请求层(controller层)进行参数校验。