专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

在线教育项目实战总结(1)

前言

今天继续推进一个前后端分离的在线教育项目实战 vuejs+springboot,以前没有接触过前后端分离开发,遇到问题要总是要折腾很久(没办法,坑太多,水平太菜)。今天遇到的问题如下:

问题描述

做一个模糊查询服务,在表单输入一个值,如:”首页“,点击查询,原本是要返回第一行数据,结果返回所有数据 🙁 接着就开始了漫漫填坑路。

54_1.png

问题分析

先从前端分析起

前端部分

54_2.png

54_3.png

v-model让params.pageAliase与上面的input表单绑定,输入一个”首页“会实时传给params.pageAliase,点击查询,调用query方法

54_4.png

调用page_list方法,生成一个url,然后发送Ajax,没有任何问题

54_5.png

从chrome dev tool上也可以发现顺利发送了url,但是获得过多的数据

54_6.png

那么问题就不是在前端了

后端分析

从Contorller开始分析

54_7.png

发现有一个QueryPageRequest对象来接受 URL请求的参数 siteId, templateId, pageAliase

54_8.png

之后就是Service层,Dao层用的是 MongoRepository

一路分析下来也没有发现问题,写了测试,竟发现返回的Json数据确实只有1个,实在让人疑惑

54_9.png

最后经过一番查询,发现一个很低级的错误,拼写错误,QueryPageRequest中的 页面别名 这一项是pageAlias(是正确拼写),但是

Request URL中是pageAliase,错误拼写,后端模型中的字段也是错误拼写 🙁 所以发送的请求在经过Contorller层时,QueryPageRequest接受不到这个pageAliase字段,导致后来每次查询都是返回所有json数据

http://localhost:11000/api/cms/page/list/1/10?page=1&size=10&siteId=5a751fab6abb5044e0d19ea1&pageAliase=%E9%A6%96%E9%A1%B5

将错就错,统一改为pageAliase,结果成功返回第一条数据

54_10.png

总结

  • 虽然项目最初的搭建工作不是笔者做的,但还是提醒了笔者以后要多注意这种拼写的小问题
  • 根本原因是自己对这种前后端开发不熟悉,项目封装的一些原始类不熟悉
  • 前端负责的是数据的展示,所以在请求URL没有问题的时候,问题就应该在后端找
  • 虽然这是个很低级的错误,也折腾了一些时间,但是在解决问题的时候又梳理了一遍需求实现流程,也算是有收获

提示

这篇Blog只是本人的项目总结,参考意义不大

文章永久链接:https://tech.souyunku.com/29504

未经允许不得转载:搜云库技术团队 » 在线教育项目实战总结(1)

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们