不理解service层和controller层都写哪些代码
假设我有一个注册接口,controller写了一个@RequestMapping("/register")之后,有这些东西:
①验证验证码和重复密码是否正确
②到数据库查找用户名和邮箱是不是已经存在
③上面验证都没问题,向数据库插入一条数据
④向用户邮箱发送一封激活邮件
⑤返回注册成功给用户
这些都在哪里写啊?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
业务逻辑要在service中实现,而control负责把service层返回的数据加工转换为方便jsp或者其他模板容易渲染的格式,传递给view层,或者按照前端要求的格式转换为json传递给前端(ajax方式)。
除了5要在controller写之外,其他都应该写在service层。当然,狭隘的业务逻辑只是3和4。1/2属于数据验证,数据验证和业务逻辑有一定关系,如果按照狭义的业务逻辑理解,1/2也可以放在controller中。
controller层是做数据格式处理的,打个比方用户传了一个pageSize,但是有可能传null,这个时候你可以再进行一次转换成默认的10;然后调用service的方法,返回结果给到前端。
servicer就是和数据库打交道的,校验、插入,事务
你提及的5点中,1、2、3都是service去写逻辑。4是属于另外的一个服务。你可以在service中进行 @Autowire引入相应的服务,然后service去调用。
第5点就是controller的工作