当前位置: 首页 > news >正文

JavaWeb:SpringBootWeb增删改查案例

需求

在这里插入图片描述

开发规范

前后端分离

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

Restful风格

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

小结

在这里插入图片描述

环境准备

在这里插入图片描述

Apifox使用

在这里插入图片描述
初始使用-登录后可保存记录
在这里插入图片描述
在这里插入图片描述
工具使用
1.新建项目
在这里插入图片描述
2.+新增-更多功能-导入(OpenAPI)-文件导入(拖拽)-确认
在这里插入图片描述
3.设置请求环境
在这里插入图片描述
4.Mock,定义数据,生成链接给前端用
在这里插入图片描述

工程搭建tlias-web-manager

在这里插入图片描述

查询部门

基本实现

需求
在这里插入图片描述
分析
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
实现
在这里插入图片描述

@RestController
public class DeptController {@RequestMapping("/depts")public List<Dept> getALL(){// 1.加载并读取dept.txt数据// 通过类加载器InputStream is = this.getClass().getClassLoader().getResourceAsStream("dept.txt");List<String> strings = IOUtils.readLines(is, "UTF-8");// 2.遍历集合,将数据封装到Dept对象中List<Dept> depts = strings.stream().map((s)->{String[] split = s.split(",");Integer id = Integer.valueOf(split[0]);String name = split[1];LocalDateTime updateTime = LocalDateTime.parse(split[2], DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));Dept dept = new Dept(id, name, updateTime);return dept;}).collect(Collectors.toList());// 3.将集合对象返回return depts;}}

list转json原理
在这里插入图片描述

统一响应结果

返回结果多样。不便管理
在这里插入图片描述
规范
在这里插入图片描述

/*** 后端统一返回结果*/
@Data
public class Result {private Integer code; //编码:1成功,0为失败private String msg; //错误信息private Object data; //数据public static Result success() {Result result = new Result();result.code = 1;result.msg = "success";return result;}public static Result success(Object object) {Result result = new Result();result.data = object;result.code = 1;result.msg = "success";return result;}public static Result error(String msg) {Result result = new Result();result.msg = msg;result.code = 0;return result;}}

使用
return Result.success(depts);

问题
1.Not Acceptable
@Data 注解反编译失效,手动设置get set

2.指定请求方式
@RequestMapping(value = “/depts”, method = RequestMethod.GET)
或者
@GetMapping(“/depts”)

3.Post 请求:报错405-Method Not Allowed

前后端联调

前后端联调测试
在这里插入图片描述
反向代理
在这里插入图片描述
在这里插入图片描述
小结

在这里插入图片描述
负载均衡:upstream

http://www.xdnf.cn/news/274483.html

相关文章:

  • terraform resource创建了5台阿里云ecs,如要使用terraform删除其中一台主机,如何删除?
  • 【2025软考高级架构师】——2024年05月份真题与解析
  • 工程师 - 小米汽车尾部主动扩散器
  • 交互式智能体面临问题:回声陷阱,RL滚动塑造因素,感知推理的奖励信号
  • Docker 使用与部署(超详细)
  • 365打卡第R6周: LSTM实现糖尿病探索与预测
  • n8n 快速入门2:构建自动化工作流
  • LangChain4j +DeepSeek大模型应用开发——9 优化硅谷小鹿
  • FreeSwitch Windows安装
  • docker部署Open WebUI下载速度慢解决方法
  • Redis事务
  • Ubuntu 安装 Docker
  • 二叉搜索树的最近祖先(递归遍历)
  • 【神经网络与深度学习】生成模型-单位高斯分布 Generating Models-unit Gaussian distribution
  • Git 远程操作
  • SpringMVC详解
  • R绘图|3分钟复现瑞士“苏黎世大学”Nature全球地图——基于R包ggplot2+sf等
  • 集成算法学习
  • Ubuntu22.04及以上版本buildroot SIGSTKSZ 报错问题
  • Rockermq的部署与使用(0-1)
  • 理解计算机系统_并发编程(1)_并发基础和基于进程的并发
  • 【leetcode100】最长递增子序列
  • PyTorch数据集与数据集加载
  • ICCV2023 | 视觉Transformer的Token-标签对齐
  • window-docker的容器使用宿主机音频设备
  • 深入探索 Java 区块链技术:从核心原理到企业级实践
  • nginx 核心功能 02
  • 【项目篇之统一硬盘操作】仿照RabbitMQ模拟实现消息队列
  • C++入门小馆:继承
  • 数据库-数据类型,表的约束和基本查询操作