码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 全栈开发笔记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 记录,二级域名:
    在这里插入图片描述

    登录态不对的问题:cookie 不一样,导致 session id 不一样
    在这里插入图片描述
    在这里插入图片描述

    6.项目部署 2023.10.1

    详情见这篇文章。

    5.统一处理返回值 2023.10.1

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

    在这里插入图片描述
    在这里插入图片描述

    axios 统一拦截处理响应:

    在这里插入图片描述
    在这里插入图片描述

    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

    在这里插入图片描述

    3.开发登陆注册接口 2023.09.17

    在这里插入图片描述

    学习到的:

    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 里

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    2.数据库设计

    在这里插入图片描述

    学到了:

    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.前后端初始化 2023.9.16

    https://mvnrepository.com/

    1. 使用 Mybatis-plus 简化写 SQL 的成本
    2. IDEA 初始化项目
      1. 使用内置功能链接数据库,schema 新建 db
  • 相关阅读:
    CFdiv2-Tournament Countdown-(思维+交互题套路)
    java毕业设计儿童教育系统Mybatis+系统+数据库+调试部署
    mybatis 调用修改SQL时 出现了一个问题 没有修改成功也没有报错
    Py之unstructured:unstructured的简介、安装、使用方法之详细攻略
    使用SwinUnet训练自己的数据集
    topK问题---使用优先级队列解决
    这份进入车载电器件的嵌入式软件开发的自学路径是否可行?
    (18)线程的实例认识:线程的控制,暂停,继续,停止,线程相互控制,协作
    每日一题Day40-41
    第二天:java基础复习(2)
  • 原文地址:https://blog.csdn.net/u011240877/article/details/133556223
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号