3-10 公共模块统一测试

spring boot本身扫描的是自己同级别的目录以及子级别的目录。

所以它能扫描的范围就是在com.mooc.mettingfilm.user这个范围下。

但是我们utils里面也有东西需要被扫描到。比如我们刚刚建的这个统一的异常处理类

所以我们要手工指定我们的扫描。指定扫描的目录到mettingfilm这一级别就可以了。

开始测试

启动工程

启动工程会报错。

org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'moocBackendUserTMapper' for bean class [com.mooc.meetingfilm.backend.common.dao.mapper.MoocBackendUserTMapper] conflicts with existing, non-compatible bean definition of same name and class [com.mooc.meetingfilm.user.dao.mapper.MoocBackendUserTMapper]


moocBackendUserTMapper有一个同名称的class

这是因为user表我们之前子common里面测试过了。所以删除common下的dao包和下面的所有类即可,

test里面也要删掉




backend也删除。


启动工程。postman做测试

localhost:8080/user/login

{
    "username":"admin",
    "password":"admin"
}

 








测试公共的异常是否好用。这里限制了username和password不能为空。


把password去掉了。


同时在控制台,我们也打印了日志

自己遇到的问题

故意不输入password遇到的错误。返回的信息格式不是我们定义好的。

同时控制台还有错误

后来经过排查发现是抛出异常的地方,没有加@ResponseBody的注解

controller返回中文乱码

这里正常返回的应该是用户名或密码不能为空,但是中文的时候返回了乱码

网上找到了一些方法尝试了,但是暂时还是没有解决这个问题,下面两个链接的地址都尝试了。

 

Springboot项目中文乱码解决(源码案例)

http://jvm123.com/2019/10/springboot-xiang-mu.html

 SpringBoot 的Controller类返回数据, 中文乱码

http://www.imooc.com/qadetail/338589?lastmedia=1

中文乱码 莫名其妙的好了

在完成了3-11的代码后,再次打开了postman进行测试。返回了正常的中文。

首先是只参考了这个地址:http://www.imooc.com/qadetail/338589?lastmedia=1

修改后,记得重启下postman,也可能postman有缓存之类的?无意间关掉了postman又打开,发现中文正常了。

结束

 

posted @ 2020-04-13 12:24  高山-景行  阅读(212)  评论(0编辑  收藏  举报