当前位置: 首页 > 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.dtcms.com/a/170590.html

相关文章:

  • 【数据结构与算法】常见排序算法详解(C++实现)
  • 视频转GIF
  • VMware-centOS7安装redis分布式集群
  • MySQL复合查询全解析:从基础到多表关联与高级技巧
  • llfc项目TCP服务器笔记
  • SpringBoot的汽车商城后台管理系统源码开发实现
  • **马小帅面试记:Java技术问答**
  • Win10下安装Linux-Ubuntu24.04双系统
  • 2025-05-04 Unity 网络基础6——TCP心跳消息
  • Android第三次面试总结之Java篇补充
  • NV214NV217美光闪存固态NV218NV225
  • 基于Hive + Spark离线数仓大数据实战项目(视频+课件+代码+资料+笔记)
  • 【LeetCode Hot100】动态规划篇
  • 二叉搜索树实现删除功能 Java
  • 初识 iOS 开发中的证书固定
  • EasyExcel使用总结
  • 【Linux系统】第二节—基础指令(2)
  • 【ArcGIS微课1000例】0144:沿线或多边形要素添加折点,将曲线线段(贝塞尔、圆弧和椭圆弧)替换为线段。
  • Spring MVC设计与实现
  • 【Java JUnit单元测试框架-60】深入理解JUnit:Java单元测试的艺术与实践
  • 架构思维:利用全量缓存架构构建毫秒级的读服务
  • 【C++ Qt】输入类控件(上) LineEdit、QTextEdit
  • 仓颉编程语言快速入门:从零构建全场景开发能力
  • 主成分分析(PCA)与逻辑回归在鸢尾花数据集上的实践与效果对比
  • PyTorch_张量索引操作
  • 【C++】 —— 笔试刷题day_25
  • [硬件电路-12]:LD激光器与DFB激光器功能概述、管脚定义、功能比较
  • Qwen2.5模型性能测评 - 速度指标
  • 【Linux】命令行参数与环境变量
  • LeetCode 热题 100 54. 螺旋矩阵