全栈开发笔记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&current=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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/99441.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OCR让点读笔如虎添翼

点读笔是一种智能学习工具,它可以通过识别文字来提供相应的语音或图像反馈。在实现文字识别功能时,点读笔通常会借助OCR(Optical Character Recognition,光学字符识别)技术。下面将详细介绍点读笔如何利用OCR技术实现文…

【Spring Cloud系统】- Zookeer特性与使用场景

【Spring Cloud系统】- Zookeer特性与使用场景 一、概述 Zookeeper是一个分布式服务框架,是Apache Hadoop的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题。如:统一命名服务、状态同步服务、集群管理、分布式应用配置…

基于AlexNet深度学习网络的智能垃圾分类系统matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、基于AlexNet深度学习网络的智能垃圾分类系统概述 4.2、基于AlexNet深度学习网络的智能垃圾分类系统主要原理 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab20…

在宝塔面板环境下安装nps服务端

在宝塔面板环境下安装nps服务端 一、所需环境二、开始安装三、打开nps控制台四、更改默认账号密码和连接秘钥五、反向代理挂载SSL证书 一、所需环境 阿里云轻应用服务器(选择宝塔应用镜像)域名(最好也是阿里注册的域名)对应的ssl…

echarts的bug,在series里写tooltip,不起作用,要在全局先写tooltip:{}才起作用,如果在series里写的不起作用就写到全局里

echarts的bug,在series里写tooltip,不起作用,要在全局先写tooltip:{show:true}才起作用,如果在series里写的不起作用就写到全局里 series里写tooltip不起作用,鼠标悬浮在echarts图表上时不显示提示 你需要…

聊聊分布式架构01——http通信基础

目录 web通信的简单结构 网络通信基础TCP/IP TCP/IP 通信传输流 HTTP中的三剑客 负责传输的IP协议 确保可靠性的TCP协议 SYN攻击(SYN Flood Attack) 四次挥手 负责域名解析的DNS服务 基于 TCP 协议实现通信 TCP 协议的通信过程 Web通信的简单…

基于PSD-ML算法的语音增强算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 1.加窗处理: 2.分帧处理: 3.功率谱密度估计: 4.滤波处理: 5.逆变换处理: 6.合并处理: 5.算法完整程序工程 1.算法…

visual studio解决bug封装dll库

1.速度最大化 O2 2.设置输出目录 配置属性/常规/输出目录 链接器/常规/输出dll文件 链接器/调试/输出程序数据库pdb文件 链接器/高级/导入库 3.输出X86 X64分别对应的dll、lib、pdb 然后修改更新说明 更新说明格式如下: 4.将库提交到FTP每日更新库文档下 和测试交接…

docker入门加实战—docker安装并配置阿里云加速

docker入门加实战—docker安装并配置阿里云加速 为什么要学习docker 在开发和部署项目的过程中,经常会遇到如下问题: 软件安装包名字复杂,不知道去哪里找安装软件和部署项目步骤复杂,容易出错 这就是我们今天要学习Docker技术…

千兆以太网传输层 UDP 协议原理与 FPGA 实现(UDP接收)

文章目录 前言心得体会一、 UDP 协议简单回顾二、UDP接收实现三、完整代码展示四、仿真测试(1)模拟电脑数据发送,(2)测试顶层文件编写(3)仿真文件(4)仿真波形前言 在前面我们对以太网 UDP 帧格式做了讲解,UDP 帧格式包括前导码+帧界定符、以太网头部数据、IP 头部数…

第二证券:临时停牌一般多久?

随着股票买卖市场的日益开展,股票买卖的监管也越来越严格。而前段时刻,上市公司中多家公司被暂时停牌,此举引起了公众对于暂时停牌时刻的重视。那么,暂时停牌一般多久?本篇文章将从多个视点出发,对这一问题…

VsCode 常见的配置、常用好用插件

1、自动保存:不用装插件,在VsCode中设置一下就行 2、设置ctr滚轮改变字体大小 3、设置选项卡多行展示 这样打开了很多个文件,就不会导致有的打开的文件被隐藏 4、实时刷新网页的插件:LiveServer 5、open in browser 支持快捷键…

万界星空科技低代码平台+协同制造MES产品

在生产数字化建设方面,MES产品针对不同的制造行业,开发的工作量较大。传统交付方式开发周期长、过程不可控、质量把控难,同时,开发实施周期长带来了需求变化的可能性增加,周期可能还会延长。 随着数字技术的不断迭代成…

LeetCode-496-下一个更大元素

题目描述: 题目链接:LeetCode-496-下一个更大元素 解题思路: 方法一:暴力 方法二:单调栈 方法一代码实现: class Solution {public int[] nextGreaterElement(int[] nums1, int[] nums2) {// 最笨的方法&am…

【已验证】微信小程序开发-绑定数据23.10.09

四. 绑定数据 WXML页面里的动态数据都是来自.js 文件Page的data&#xff0c;数据绑定就是通过双大 括号&#xff08;{{}}&#xff09;将变量包起来&#xff0c;在WXML页面 里将数据值显示出来。 <!--pages/product/product.wxml--> <view> {{ message }} </vi…

GG-Net: 超声图像中乳腺病变分割的全局指导网络

ATTransUNet 期刊分析摘要贡献方法整体框架1. Global Guidance Block2. Spatial-wise Global Guidance Block3. Channel-wise Global Guidance Block4. Breast Lesion Boundary Detection Module 实验1. 对比实验2. 消融实验2.1 Ablation Analysis of our GG-Net2.2 Ablation A…

用vscode进行远程主机开发

文章目录 插件操作步骤FQA 插件 Remote - SSH - 通过使用 SSH 打开远程计算机或者VM上的文件夹&#xff0c;来连接到任何位置。 操作步骤 使用Vscode利用Remote进行远端开发必须现在Vscode内安装插件 安装完成后&#xff0c;底部工具栏会出现一个绿色按钮&#xff0c;如下…

git命令笔记

git命令笔记 前言&#xff1a;git对于软件开发和协作的重要性不言而喻&#xff0c;在企业开发中&#xff0c;git命令和linux命令的使用同样重要。作为开发者&#xff0c;需要牢记并熟练使用常见的git命令 git工作流程图 命令如下&#xff1a; clone&#xff08;克隆&#xf…

2023旅游产业内容营销洞察报告:如何升级经营模式,适配社媒新链路

2023年我国旅游业强劲复苏&#xff0c;上半年旅游消费增长显著&#xff0c;政府出台一系列文旅扶持政策后&#xff0c;旅游业也在积极寻求数字化转型的升级方式。 上半年以旅游消费为代表的服务业对经济的增长贡献率超过60%&#xff0c;旅游企业普遍实现经营好转&#xff0c;企…

Java中使用C代码

开发工具: Intellij Idea 与 Visual Studio使用方式: Visual生成.dll文件(Windows .dll文件, Linux .so文件); jdk添加.dll文件, Idea java 采用native方式注册与使用c代码.1. 如下图, 打开idea,新建class Demo, 通过命令行生成Demo.h public class Demo {public native voi…