80端口是http访问的默认端口,可以不加端口号,默认访问的就是80端口。比如我们访问百度,是没有加端口号的,默认就是访问80端口
问题:这个模块的业务类包含service和dao吗?
回答是:不包含
这个模块是消费者调用,干活的是payment模块,是去调用支付模块的,只要controller和entities
如上图,现在这个模块是没有OrderService了,只有个controller
这个时候怎么办?我们可以通过resttemplate来实现80端口的服务远程调用8001端口的服务
RestTemplate (Spring Framework 5.2.8.RELEASE API)
这个类是spring提供的,我们通过配置的方式,把它配置到spring容器中
测试出了问题
修改后测试通过
测试读操作没有问题
测试写操作也没有问题 但是真没有问题吗?
数据库显示插入一个null值 实际上并没有插入成功
问题出在服务提供者上面,这里需要加一个@requestBody,如果是用浏览器直接访问是不要加 @requestBody的,但是现在是消费者订单服务间接访问,就需要加@requestBody了,直接访问这个接口,浏览器?后加参数,这里可以接收,但是间接调用这个服务,即使浏览器?后加参数,在订单模块中也会被转换成json字符串的形式
修改完后再做同样的测试就成功了