开发中的问题

本文列举了开发过程中遇到的几个典型问题:数据库脚本更新导致目录内容丢失,后台接口调用失败,嵌套对话框无法显示,Vue配置路径错误,以及控制器方法映射冲突。针对这些问题,提出了相应的解决策略,包括检查数据库信息,确保接口数据依赖,修正前端路径配置,以及在后端进行空值校验和方法路径调整。同时,文章探讨了信息验证的正确逻辑,提供了使用注解进行数据校验的方法。
摘要由CSDN通过智能技术生成

1、重新运行了数据库脚本,导致前台页面的目录内容消失

原因:原来的数据库脚本没有新建的目录信息,数据库表中没有信息,如若依系统

2、掉后台接口:就是调用controller层里面的方法,需要有数据库数据才能把数据上传到页面上。需要用到数据库表

3、在开发中添加了一个对话框,却怎么也弹不出来,最后发现:添加的对话框嵌套在了另一个对话框里面

4、在开发中突然页面显示不出自己的菜单了,也不是数据库的问题,最后发现是vue.config.js里面的路径变了
5、Ambiguous mapping. Cannot map ‘XXXXController’ method
img
解决办法基本上说是controller层的方法指定了两个相同的路径,如果controller层里面没有相同的路径,则看方法里面有没有写路径

判断信息为空

当前端页面不填写任何信息的时候,点击确定会提示“项目信息为空,请填写完整的项目信息”,这个功能后端的处理:

之前的逻辑错误:

之前是想做判断信息全部为空的时候抛出提示,但是这个思路是错误的,因为这里面会允许部分字段为空,有些字段是一定不为空,所以要做的是不为空的校验。

处理方式一:在接口处添加if判断

之前的错误逻辑:

if (rulesNamed == null || rulesNamed.getProjectId() == null) {
            return AjaxResult.error("cregrtber");
        }

遇到的问题:

刚开始只做了rulesNamed == null的判断,但是没有用,debugger之后发现,ruleNamed并不是空的,他有地址,空的只是ruleNamed类中的属性,所以最后又添加了其中的一个属性为空,rulesNamed.getProjectId() == null,最后成功

正确的逻辑:

判断项目id、有效开始日期、有效结束日期不为空即可。(代码略)

处理方式二:添加@NotNull和@Valid注解

①在实体类中的日期上添加@NotNull注解

②接口处参数列表中添加@Valid注解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YD_1989

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值