阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_20-页面查询服务端开发-创建CMS服务工程-测试Controller

要写的就是这个接口的实现

定义接口的实现类


实现接口内的方法



学过SpringMvc这里就可以使用springMvc注解来开发了。例如这里使用@RestController


@RestController相当于@Controller和@ResponseBody两个注解的集合。
@ResponseBody 作用就是把响应的就结果集转成json。
两个注解合二为一就是@RestController

起一个跟路径为/cms/page

@GetMapping相当于@RequestMapping里面使用get方式。

相当于通过url传参page和size

形参来接收。使用@PathVariable来接收

这里面有几个构造参数

ResultCode


QueryResult

CommonCode是一个枚举对象。

 

lombok插件的安装

参考网址:https://jingyan.baidu.com/article/0a52e3f4e53ca1bf63ed725c.html

IntelliJ IDEA lombok插件的安装和使用

在写代码的时候,发现没有自动给属性生成getter和setter方法

但是我的实体类里面已经加了@Data的注解

经过翻看第十八课的内容,发现lombok是需要装一个IDEA的插件。

然后可以点开 查看支持的注解。

install安装就可以了。这是安装后的了

然后还需要开启 Enabl annotation processing。这个我发现 我这里的model的工程是自动开启 的。所以没有再单独勾选。

然后再去写set属性的值。就不会再报错了

测试代码



最终返回一个QueryResponseResult

启动测试


请求的类型是get

json格式化后。code:操作代码 message:就是提示信息 success:是否操作成功

QueryResponseResult继承ResponseResult

ResponseResult里面有这三个属性的值

为什么在api里面定义接口,而不再cms的项目里面定义接口。

1.我们要在api里面统一的把接口管理起来。有一个统一的位置
如果要在cms这个微服务里面定义接口的话。如果我们的微服务特别多,那么接口分散在各个微服务里面。也就是不方便统一管理。
2.
将来微服务与微服务之间调用。如果接口分散在不同的微服务里面,如果服务A要调用服务B,那么服务A要依赖B才能把接口拿到。现在我把接口统一的在api工程里面了。所有的微服务只要依赖api。就轻而易举的拿到任意微服务的接口了。所以要把接口统一的在api里面管理

接口就是一个简单的Interface

接口实现类采用了SpringMVC的注解。假如有一天不用SpringMVC了,要用其他的web框架了。如果没有接口这一层的话,就要改一大堆地方,如果有接口这一层,那么接口这里就不用动。接口实现类只需要其他框架开发就可以。这旧增强了系统的可扩展性
以上就是定义接口和实现类。

posted @ 2019-09-18 15:22  高山-景行  阅读(288)  评论(0编辑  收藏  举报