JavaWeb初学项目的问题排查思路

常说代码cv,遇到具体需求时,解决问题的思路有了才可以cv,特此根据浅薄经验记录思路,反思自己。

第零步:确定需求(需求分析)

需求能不能做,确定好工期。

第一步:设计数据库

根据用户的需求设计数据库,这一步极为关键,表关系可以一对多,多对多等,只能根据项目经验去提升,有意识的思考,在这里不过多赘述。

第二步:根据数据库的表去映射java实体类

这一步很关键,注意大小写,特殊格式,日期类格式。

第三步:编写业务代码

简略的讲(排查思路):

后端:当你写好业务sql之后,写好Controller层接口,拿去做test,确保sql ,接口没问题。

前端:打印需要传输的数据,确保发送前的数据正确,url路径 ,type:json,没问题。

如果你的功能在测试过程中出现了不可名状的错误 ,你的后端以及前端接口都没问题,正常的返回了数据,那么只能从报错信息入手(不要一味的听信报错信息),可能少了某个细节而已**,例如,大小写,方法的(),编码,特殊字符的传输,清除缓存**,此时叫打手,不要怕错误,消耗的时间太长是不可取的(个人建议,叫帮手)。

详细分析:

展示数据 | 条件展示

select

前端分析:如果有条件的话,那肯定要获取到这个条件,发送给后端,根据返回的数据,去展示数据。

后端分析:根据前端拿到的数据(确保拿到了),条件select,切记此时要把数据返回给前端。

复制代码
    @GetMapping("/page")
    @ApiOperation("分类分页查询")
    public Result<PageResult> page(CategoryPageQueryDTO categoryPageQueryDTO){
        log.info("分页查询:{}", categoryPageQueryDTO);
        PageResult pageResult = categoryService.pageQuery(categoryPageQueryDTO);
        return Result.success(pageResult);
    }

添加数据

insert

前端分析:确保拿到了用户输入的数据,发送请求给到后端。

后端分析:拿到了前端的数据后,执行添加sql,返回状态信息。

复制代码
    @PostMapping
    @ApiOperation("新增分类")
    public Result<String> save(@RequestBody CategoryDTO categoryDTO){
        log.info("新增分类:{}", categoryDTO);
        categoryService.save(categoryDTO);
        return Result.success();
    }

删除数据

delete

前端分析:确保拿到了删除的条件,发送给后端。

后端分析:拿到了前端的数据后,执行删除sql,返回状态信息。

java 复制代码
    @DeleteMapping
    @ApiOperation("删除分类")
    public Result<String> deleteById(Long id){
        log.info("删除分类:{}", id);
        categoryService.deleteById(id);
        return Result.success();
    }

修改数据

update

前端分析:确保拿到了修改的数据,发送给后端。

后端分析:拿到前端的数据后,执行更新数据,返回状态信息。

java 复制代码
    @PutMapping
    @ApiOperation("修改分类")
    public Result<String> update(@RequestBody CategoryDTO categoryDTO){
        categoryService.update(categoryDTO);
        return Result.success();
    }

总结:

做业务时,切记要弄清楚需求,理清思路,不要浮躁,Believe in yourself。

相关推荐
国科安芯12 小时前
ASL622S:把“信号失真“挡在门外的航天级运放
网络·单片机·嵌入式硬件·架构·状态模式·低轨卫星星座
leoZ2314 天前
Vue3 还原一个企业级后台-08-API注册管理
目标检测·机器学习·分类·状态模式·迁移学习·集成学习·figma
Java&Develop5 天前
QuantDinger 宝塔 Linux 部署完整指南
linux·运维·状态模式
星恒随风5 天前
C++ 红黑树封装(二):迭代器、const_iterator 与 operator[] 完整实现 mymap 和 myset
开发语言·c++·状态模式
sugar__salt6 天前
在浏览器里跑 DeepSeek-R1:用 WebGPU 把大模型搬进前端
前端·javascript·状态模式
火云牌神6 天前
异常与统一封装架构:规范统一返回值、全局异常与参数校验
架构·状态模式·ai编程·vibecoding
云和数据.ChenGuang7 天前
fastapi的参数剖析
人工智能·深度学习·机器学习·语言模型·状态模式·fastapi
罗小爬EX9 天前
AI Chat 多类型流式事件处理方案(以AgentScope Java 2为例)
java·人工智能·状态模式
xier_ran9 天前
【infra之路】AI 编译器(二):后端优化
人工智能·状态模式·infra