全栈开发笔记1:首个项目的收获

本文为编程导航实战项目学习笔记。

全栈开发笔记1:首个项目的收获_第1张图片

文章目录

  • 7.跨域问题解决 2023.10.2
  • 6.项目部署 2023.10.1
  • 5.统一处理返回值 2023.10.1
  • 4.开发注册和用户管理 2023.0930
  • 3.开发登陆注册接口 2023.09.17
  • 2.数据库设计
  • 1.前后端初始化 2023.9.16

7.跨域问题解决 2023.10.2

三种方式:

  1. 前端和后端用同一个域名
  2. nginx 处理
  3. 后端处理

加个 A 记录,二级域名:
全栈开发笔记1:首个项目的收获_第2张图片

登录态不对的问题:cookie 不一样,导致 session id 不一样
全栈开发笔记1:首个项目的收获_第3张图片
全栈开发笔记1:首个项目的收获_第4张图片

6.项目部署 2023.10.1

详情见这篇文章。

5.统一处理返回值 2023.10.1

  1. 返回数据格式化
    1. 统一返回数据格式
    2. 自定义返回错误码
  2. 封装全局异常处理
    1. 定义异常类:支持更多错误信息
    2. 编写全局异常处理器
      1. 捕获代码中的所有异常,让前端可以感知到更具体的信息
      2. 集中处理,可以看到错误日志
      3. 通过 Spring AOP 实现 RestControllerAdvice
  3. 全局请求日志和登录校验

全栈开发笔记1:首个项目的收获_第5张图片
全栈开发笔记1:首个项目的收获_第6张图片

axios 统一拦截处理响应:

全栈开发笔记1:首个项目的收获_第7张图片
全栈开发笔记1:首个项目的收获_第8张图片

4.开发注册和用户管理 2023.0930

TODO:

  1. 用户注册前端✅
    1. 遗留问题:后端返回的不是 JSON,导致前端无法检查结果
  2. 用户注销前后端 ✅
  3. 用户管理前端 ✅(1号完成)
    1. 需要组件,去 procomponent 找:https://procomponents.ant.design/components/table?tab=api¤t=1&pageSize=5

看到一个做的不错的项目,支付也跑通了! https://t.zsxq.com/12DO71Zl5

全栈开发笔记1:首个项目的收获_第9张图片

3.开发登陆注册接口 2023.09.17

全栈开发笔记1:首个项目的收获_第10张图片

学习到的:

  1. session 从 JavaWeb Servlet 学习
  2. 自动填充方法参数插件:auto fill
  3. 自动生成序列化 id 的方法:选中类名,按「option + enter」
  4. 测试 controller 可以使用 IDEA 的 Tools -> Http client
  5. 编写每个接口时,都要考虑是否需要鉴权
    1. 比如查询所有的、删除的
  6. 新增字段需要修改 xxMapping.xml,可以通过双击数据库–MybatisX-Generator 自动更新
  7. 安全规范:返回给前端的实体对象,要统一做脱敏处理,即去掉不需要的字段
  8. draw.io 画系统设计图不错,有服务器什么的图标
  9. application.yml 指定接口全局 api
    1. servlet 里加 context-path
  10. 前端
  11. umi 配置代理:config -> proxy.ts 里

全栈开发笔记1:首个项目的收获_第11张图片

全栈开发笔记1:首个项目的收获_第12张图片

全栈开发笔记1:首个项目的收获_第13张图片

全栈开发笔记1:首个项目的收获_第14张图片

2.数据库设计

全栈开发笔记1:首个项目的收获_第15张图片

学到了:

  1. IDEA 工具创建表
  2. 自动根据表字段生成实体类:mybatisx-generator
    1. 右键选择 IDEA 数据库的某个表,点击弹出的 generator
    2. 勾选 Actual Column
  3. 创建实体类的时候,可以用 GenerateAllSetter 插件,一键生成对象的所有属性 setter 代码
    1. 选中新创建的对象,「option + . 」,在弹出的里面选择 generate all
  4. 两次密码的校验,后端也要有,因为前端的逻辑是可以绕过的
    1. 不能相信前端的校验
  5. 数据库操作,要往后放,先做边界检查
  6. 快捷键
    1. 选中接口「option + enter」,快速给实现类生成方法
    2. 接口选中「control + enter」, 快速生成 Test 方法

全栈开发笔记1:首个项目的收获_第16张图片

全栈开发笔记1:首个项目的收获_第17张图片

1.前后端初始化 2023.9.16

https://mvnrepository.com/

  1. 使用 Mybatis-plus 简化写 SQL 的成本
  2. IDEA 初始化项目
    1. 使用内置功能链接数据库,schema 新建 db

你可能感兴趣的:(Spring,后端,笔记)