泪目了,记录一下改了一天的bug

一杯茶、一包烟、一个BUG改一天
泪目了,记录一下改了一天的bug

首先,最后一步是困扰我最久的——修改数据库字段的属性。不然读取不到数据,返回空值。空指针异常看得我头皮发麻。

在把数据库字段修改正确后,我改的是对象OrderInfo(这里的是有个属性,没有和数据库一样,导致插入不了数据),并没有改数据库的字段,效果一样。

接着运行,报错

java.net.ConnectException: Connection refused: connect异常

因为我使用的是阿里云,nacos中间件,并且注册了网关。这里需要使用到另一个微服务hospital-manage,而该服务是在本地的,并没有进行nacos注册,所以出现该错误。产生了跨域问题:

三个地方,任何一个地方不相同,都会产生跨域问题

  1. 访问协议:协议不相同,比如http访问https。
  2. 访问地址:192.168.1.1去访问172.11.1.1
  3. 端口号:9528 访问8201

修改:

在该模块中配置nacos,

项目如何注册到nacos中心_阿木木fe的博客-CSDN博客_服务注册到nacos

添加依赖

<!--服务注册 nacos-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>2.1.0.RELEASE</version>
</dependency>

添加配置

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 120.0.0.1:8848 #地址

成功添加到nacos

泪目了,记录一下改了一天的bug
还需要配置到网关

#设置路由id
spring.cloud.gateway.routes[7].id=service-manage
#设置路由的uri,lb:负载均衡
spring.cloud.gateway.routes[7].uri=lb://service-manage
spring.cloud.gateway.routes[7].predicates= Path=/**

至此:解决了跨域问题

运行, 仍然空指针异常:

调试
泪目了,记录一下改了一天的bug
医院的路径的端口是 9998,这里可能有问题

– 修改成9998后,发现医院返回的result仍为空。多次调试,发现manage数据库中少了orderInfo表,创建该表。并且和实体类字段对应。

– 继续调试,result仍未空,空指针要把我搞哭了。尝试手动往该表中添加一条数据。继续调试。 仍为空指针。。。

进一步调试
泪目了,记录一下改了一天的bug
http://localhost:9998/order/submitOrder

尝试在浏览器访问该地址,失败。
泪目了,记录一下改了一天的bug
分析:

该路径是需要请求的路径。

访问http://localhost:9998是没问题的。

在医院(manage)的HospitalController中确实有该方法
泪目了,记录一下改了一天的bug
而且,已经进入了该方法,不是url问题。继续调试

进行了一次查询,并且有一条数据
泪目了,记录一下改了一天的bug
但是,这里的返回了空指针。为什么?
该service是查Schedule数据库里的
泪目了,记录一下改了一天的bug
此时我的数据库里是没有数据的。那么我先添加一条数据,重新调试。
泪目了,记录一下改了一天的bug
此时,已经有数据,并不是空指针。

但是result仍为空。

继续调试,发现这里空指针
泪目了,记录一下改了一天的bug
这里的respdata为空,而url和reqData都有数据。

继续往下
泪目了,记录一下改了一天的bug
此时map是有数据的,最后返回的map的size为8,医院处理订单后,返回的map的size是8
泪目了,记录一下改了一天的bug
这里返回一个空的result。
泪目了,记录一下改了一天的bug
跳过了if,,中间的逻辑并没有执行。直接到达最后发送短信。
泪目了,记录一下改了一天的bug
因为在if里面生成医院订单。被跳过了,所以数据库manage中并没有订单。
泪目了,记录一下改了一天的bug
此时 已经基本把逻辑排完,突然想起,一个巨坑160巨坑

这里将id改成了1L,这是一个字符串。查看数据库
泪目了,记录一下改了一天的bug
将其改为varchar。重新调试
泪目了,记录一下改了一天的bug
!!!!泪目啊!!!!!太难了。。。

可以查看订单了…………
泪目了,记录一下改了一天的bug
泪目了,记录一下改了一天的bug

上一篇:jekins部署python项目到远程服务器


下一篇:Found a swap file by the name “~/xdf/daxue-ui-tiku-manage/.git/.MERGE_MSG.swp“