最近写了很多接口,需要从Mapper层开始写,顺便记录一下Dubbo的调用流程以及相关的注意事项,以下从最顶层的controller层开始写一直写到Mapper层。
- Controller
这是整个项目最顶层,一般通过调用各种Consumer里的service来合成结果交付给调用方。
注意事项:几个关键注解
@api 关联swagger可以写tags
@RestController作用等同于@Controller + @ResponseBody
@RequestMapping写接口 - Consumer_Service
基本上负责给Controller层处理数据。数据来源是presentation,也就相当于provider的“接口”。
调用representationService时需要@DubboService,另外representationService提供的数据包是representation,需要序列化。 - Presentation
Provider的最顶层。 - Service
调用各种Mapper提供数据给Presentation。
注意事项:几个关键注解
@service
@requiredArgsConstructor 在presentation注入该service时需要这个lombok注解提供的构造器 - Mapper
Mybatis-plus。
首先一个Mapper对应一个实体,可以用函数构造也可以在resource里写sql。