分享一下别人的Control层是怎么写的

120 阅读1分钟

前言

之前认为自己会了一点规范就有点飘飘然了,但是看到别人维护两三年的项目之后才知道自己的差距有多大,而且借着学习的机会,也顺便分享一下自己学习的心得,然后我会抽出时间来重构下自己之前学习的瑞吉外卖项目,没办法不会写前端。

我之前的写法


public BaseResponse<User> userLogin(@RequestBody UserLoginRequest userLoginRequest, HttpServletRequest request) {
//这里内容就是调用service层的对应方法,放回就过就好了
return ResultUtils.success(user);
}

我是时常会觉得自己是个相当自大的人,常常是学了一半就认为自己很会所以就不注意学习,在学习这种方法后,我也是确实没怎么学习类似的写法。一直都是这样的写法。

别人的写法

在UserControl层里面,他的方法都是调用memberBusinessService的run方法。而且他传的参数也是memberLoginReq也是由专门的类去封装好的继承于memberReq的抽象类,这个主要是为了前端的方便以及好维护。然后MemberBusiness这个枚举类来确定执行哪一步操作。最后调用 AbstractMember的hangdle方法,那为什么会找到对应的方法呢?AbstractMember<MemberLoginReq》原因就是这个封装好的req对象,通过这个对象就可以执行对应的handle方法了。

public CcResponse get(@RequestBody MemberLoginReq memberLoginReq) {
    return memberBusinessService.run(MemberBusiness.LOGIN, memberLoginReq);
}

总结

这个写法其实兼顾了很多的知识,但是自己通过叙述一遍之后才知道了大概,大伙也可以自己去了解upupor这个项目写的挺好的。