Spring:统一结果私有属性造成的前端无法访问异常报错问题
用户未填写任何评价
1.问题复现
(1)看一段代码
controller:
import lombok.extern.slf4j.Slf4j;
import org.ljy.testdemo.common.Result;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@Slf4j
@RequestMapping("/test")
@RestController
public class TestController {@RequestMapping("/hello")public String hello() {int a = 10/0;return "hello";}@RequestMapping("/heihei")public Result heihei() {return Result.fail("只因你实在是太美~");}
}
common:
public class Result {private String message;private int code;public Result(String message,int code) {this.message = message;this.code = code;}public static Result fail(String message) {return new Result(message,1314);}}
exception:
import lombok.extern.slf4j.Slf4j;
import org.ljy.testdemo.common.Result;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestControllerAdvice;@Slf4j
@ResponseBody
@RestControllerAdvice
public class ExceptionAdvice {@ExceptionHandlerpublic Result exception(Exception e) {log.error(e.getMessage(), e);return Result.fail(e.getMessage());}
}
通过postman进行访问:

访问第二个接口:

(2)问题的原因
由于Result中的属性被设置成了private,所以当以其作为返回结果时,前端无法直接访问Result中的属性,进而报错。作为后端开发人员,只需要知道这样会导致前端无法访问到就行了。

2.解决的方法
因为前端无法直接访问属性,所以我们要做的就是让前端可以访问到属性即可
(1)最推荐做法:加上@Data注解
@Data
public class Result {private String message;private int code;public Result(String message,int code) {this.message = message;this.code = code;}public static Result fail(String message) {return new Result(message,1314);}}

(2)提供get方法
public class Result {private String message;private int code;public Result(String message,int code) {this.message = message;this.code = code;}public static Result fail(String message) {return new Result(message,1314);}public int getCode() {return code;}public String getMessage() {return message;}
}
(3)不推荐:private改成public
public class Result {public String message;public int code;public Result(String message,int code) {this.message = message;this.code = code;}public static Result fail(String message) {return new Result(message,1314);}}相关文章:
Spring:统一结果私有属性造成的前端无法访问异常报错问题
用户未填写任何评价 1.问题复现 (1)看一段代码 controller: import lombok.extern.slf4j.Slf4j; import org.ljy.testdemo.common.Result; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.w…...
thinkphp 做分布式服务+读写分离+分库分表(分区)(后续接着写)
thinkphp 做分布式服务读写分离分库分表(分区) 引言 thinkphp* 大道至简一、分库分表分表php 分库分表hash算法0、分表的方法(thinkphp)1、ThinkPHP6 业务分表之一:UID 发号器2、ThinkPHP6 业务分表之二:用…...
webpack的使用
将js读取的目录改成读内存中的main.js,否则不会生效 为了 将index.html在打开首页的时候就能自动显示,就需要引入插件 指定开发环境运行的命令: dev:开发环境,build生产环境...
MATLAB智能优化算法-学习笔记(3)——大规模邻域搜索算法求解旅行商问题【过程+代码】
一、问题描述 旅行商问题(TSP, Traveling Salesman Problem)是组合优化中的经典问题之一。给定一组城市和每对城市之间的距离,要求找到一条最短的路径,使旅行商从某个城市出发,访问每个城市一次并最终回到出发点。TSP问题广泛应用于物流配送、工厂调度、芯片制造等领域。…...
货币单位换算 - 华为OD统一考试(E卷)
2024华为OD机试(E卷D卷)最新题库【超值优惠】Java/Python/C合集 题目描述 记账本上记录了若干条多国货币金额,需要转换成人民币分(fen),汇总后输出。 每行记录一条金额,金额带有货币单位,格式为数字单位&…...
95、k8s之rancher可视化
一、ranker 图形化界面 图形化界面进行k8s集群的管理 rancher自带监控----普罗米修斯 [rootmaster01 opt]# docker load -i rancher.tar ##所有节点 [rootmaster01 opt]# docker pull rancher/rancher:v2.5.7 ##主节点[rootmaster01 opt]# vim /etc/docker/daemon.jso…...
简单生活的快乐
小明经常会被问到一个问题:为什么他那么有钱却选择过一种简单、谦逊的生活。先从小明的早年经历说起吧,大概是他六到十三岁的时候,物质对他来说是非常重要的。他记得当妈妈给他买了一双昂贵的鞋子时,他特别兴奋,喜欢向…...
【JAVA开源】基于Vue和SpringBoot的在线文档管理系统
本文项目编号 T 038 ,文末自助获取源码 \color{red}{T038,文末自助获取源码} T038,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…...
大数据新视界 --大数据大厂之数据驱动决策:如何利用大数据提升企业竞争力
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
【Linux】生产者消费者模型:基于阻塞队列,使用互斥锁和条件变量维护互斥与同步关系
目录 一、什么是生产者消费者模型 二、为什么要引入生产者消费者模型? 三、详解生产者消费者模型 编辑 生产者和生产者、消费者和消费者、生产者和消费者,它们之间为什么会存在互斥关系? 生产者和消费者之间为什么会存在同步关系&…...
多层感知机paddle
多层感知机——paddle部分 本文部分为paddle框架以及部分理论分析,torch框架对应代码可见多层感知机 import paddle print("paddle version:",paddle.__version__)paddle version: 2.6.1多层感知机(MLP,也称为神经网络࿰…...
linux-网络管理-网络服务管理 17 / 100
Linux 网络管理:网络服务管理 一、概述 在 Linux 系统中,网络服务管理是系统管理中的重要组成部分。网络服务通常涉及到多种协议、服务和工具,用于确保服务器与客户端、局域网与广域网、以及不同系统之间的通信畅通。Linux 提供了强大的工具…...
Docker上安装mysql
获取 MySQL 镜像 获取镜像。使用以下命令来拉取镜像: 1docker pull mysql:latest 这里拉取的是最新版本的 MySQL 镜像。你也可以指定特定版本,例如: 1docker pull mysql:8.0 运行 MySQL 容器 运行 MySQL 容器时,你需要指定一些…...
【秋招笔试-支持在线评测】8.28华为秋招(已改编)-三语言题解
🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 华为专栏传送🚪 -> 🧷华为春秋招笔试 目前今年秋招的笔…...
基于python上门维修预约服务数据分析系统
目录 技术栈和环境说明解决的思路具体实现截图python语言框架介绍技术路线性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示操作可行性详细视频演示源码获取 技术栈和环境说明 结合用户的使用需求,本系统采用运用较为广…...
React基础教程(10):React Hooks
9.1 使用hooks理由 高阶组件为了复用,导致代码层级复杂。生命周期的复杂。写成函数组件,无状态组件,因为需要状态,又写成了class,成本高9.2 useState(保存组件状态) const [state, setState] = useState(initialState);案例:点击按钮修改name...
JVM 调优篇9 调优案例6- cpu使用过载解决办法【超赞】
一 cpu过载说明 1.1 背景说明 如果线程死锁,那么线程一直在占用CPU,这样就会导致CPU一直处于一个比较高的占用率。 1.2 代码 模拟一个死锁的代码 public class JstackDeadLockDemo {/*** 必须有两个可以被加锁的对象才能产生死锁,只有一个不会产生死锁问题*/private f…...
Spring8-事务
目录 JdbcTemplate 声明式事务 事务 概述 特性(ACID) 编程式事务 声明式事务 基于注解的声明式事务 Transactional注解标识的位置 事务属性:只读 事务属性:超时 事务属性:隔离级别 事务属性:传…...
在Python中,类是用于定义对象的蓝图或模板,而对象则是根据类创建的具体实例
当然,我可以为您演示类与对象的基本概念和它们之间的关系。在Python中,类是用于定义对象的蓝图或模板,而对象则是根据类创建的具体实例。 下面是一个简单的Python程序,它定义了一个Car类,该类具有一些属性和方法&…...
【小波去噪】【matlab】基于小波分析的一维信号滤波(对照组:中值滤波、均值滤波、高斯滤波)
链接1-傅里叶变换 链接2-傅立叶分析和小波分析间的关系 链接3-小波变换(wavelet transform)的通俗解释 链接4-小波基的选择 1.示例代码 function main_wavelet clc clear close all warning off %% 1.信号生成 time_length 10;%总时长,秒 …...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
vue3 daterange正则踩坑
<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...
WebRTC调研
WebRTC是什么,为什么,如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...
js 设置3秒后执行
如何在JavaScript中延迟3秒执行操作 在JavaScript中,要设置一个操作在指定延迟后(例如3秒)执行,可以使用 setTimeout 函数。setTimeout 是JavaScript的核心计时器方法,它接受两个参数: 要执行的函数&…...
