Spring: 后端状态码如何与http状态码保持一致

文章目录

  • 一、背景
  • 二、解决方案

一、背景

今天使用postman在做接口测试的时候发现了一个有趣的问题:响应体的status和http的status一样,出于好奇对该现象进行了总结。
在这里插入图片描述

二、解决方案

通过拦截器ResponseBodyAdvice,做到统一拦截

@ControllerAdvice(basePackages = "*.*.*")
@RestControllerAdvice(basePackages = "*.*.*")
public class GlobalBizResponseBodyAdvice implements ResponseBodyAdvice {

    @Override
    public boolean supports(MethodParameter methodParameter, Class aClass) {
        return true;
    }

    @Override
    public Object beforeBodyWrite(Object obj, MethodParameter methodParameter, MediaType mediaType, Class aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) {
       if (obj instanceof BizResponse) {
       		int code = (int) ((BizResponse) body).getCode();
            response.setStatusCode(HttpStatus.valueOf(code));
			return obj;
       }
       response.setStatusCode(HttpStatus.valueOf(200));
        return BizResponse.success(obj);
    }

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java常用API_正则表达式_分组——捕获分组与非捕获分组介绍与练习

在正则表达式中,从左到右第一个左括号确定为第一组,继续往右看再有左括号它表示的组数就加一。我们可以在正则表达式中使用 \\组数 的方法表示第几组,如\\1表示第一组的内容。 1.捕获分组 捕获分组就是把这一组的数据捕获出来,后…

如何使一个格式化的sd卡恢复数据?介绍有效恢复措施

在数字时代,SD卡已成为我们日常生活中不可或缺的存储设备。然而,有时我们可能会因为误操作、病毒感染或其他原因而不得不格式化SD卡,导致重要数据的丢失。面对这种情况,许多人可能会感到无助和绝望。但实际上,即使SD卡…

性能优化 - 你知道dns-prefetch有什么用吗

难度级别:中级及以上 提问概率:50% 我们在HTML文档里写一个script标签,为src属性指定Javascript文件网络地址,这是一件再平凡不过的事情。当浏览器加载HTML文档,加载到这个script标签的时候,就会去下载Javascript文件。而在下载之前,就…

✌2024/4/3—力扣—Z 字形变换

代码实现&#xff1a; char* convert(char *s, int numRows) {int len strlen(s);if (len 0 || numRows 1) {return s;}char *a (char*)malloc(sizeof(char) * (len 1));a[len] \0;int k 2 * numRows - 2;int n 0;for (int i 0; i < numRows; i) {for (int j 0; j…

ES学习日记(十一)-------Java操作ES之基本操作

前言 此篇博客还是一些基础操作&#xff0c;没什么可写的&#xff0c;需要的同学直接抄作业进行测试就可以 上一节写了连接和测试新增操作,这一节写java操作ES的基本操作,也就是增删改查,在这里补充一点知识,我们之前用了指定的索引进行指定添加 有一个情况是,如果我们指定了…

计算机网络-TCP断开连接阶段错误应对机制

连接断开阶段 四次挥手机制&#xff1a;TCP连接的断开需要四次挥手&#xff0c;这是因为双方都需要独立地关闭数据传输。第二次和第三次挥手不能合并&#xff0c;因为在回复第二次挥手的时候&#xff0c;可能还有数据没有接收完成&#xff0c;所以需要先回复ACK报文&#xff0c…

单片机IGBT驱动电路一例

概述&#xff1a; 驱动的作用有三个&#xff1a; 1.是作为放大器获得所需要的驱动电压。 2.是提高输出电流能力。 3.是进行功率回路和控制回路的隔离 信号从MCU到IGBT驱动芯片 首先驱动电流需要放大 MCU的输出电流是mA级别&#xff0c;而IGBT需要的驱动电流可能达到几安培…

基于小程序+ssm实现的悬赏信息发布系统

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;ssm 【…

ubuntu系统安装k8s1.28精简步骤

目录 一、规划二、环境准备2.1 配置apt仓库配置系统基本软件仓库配置k8s软件仓库安装常用软件包 2.2 修改静态ip、ntp时间同步、主机名、hosts文件、主机免密2.3 内核配置2.4 关闭防火墙、selinux、swap2.5 安装软件安装docker安装containerd安装k8s软件包 三、安装配置k8s3.1 …

【linux】基础IO(三)

上一节基础IO我们着重理解了重定向与缓冲区&#xff0c;这节我们需要重点理解文件再磁盘中是怎样存储。以及上一节我们没有涉及到的知识。 stderr到时有什么用&#xff1f; 目录 fd-> 0 1 2&#xff1a;初步理解2怎样将错误与正确输出都打印在一个文件&#xff1f; 文件在硬…

如何从应用商店Microsoft Store免费下载安装HEVC视频扩展插件

在电脑上打开一张HEIC类型的图片提示缺少HEVC解码器&#xff0c;无法打开查看&#xff0c;现象如下&#xff1a; 这种情况一般会提示我们需要下载安装HEVC解码器&#xff0c;点击“立即下载并安装”会跳转到应用商店&#xff0c;但是我们发现需要付费7元才能下载安装 免费安装…

独家福利:Figma汉化大礼包,让UI设计零障碍!快来领取吧!

Figma是国外开发的软件。全英文页面限制了国内很多UI设计师的发挥&#xff0c;只能用Figma中文插件中文使用。Figma中文插件虽然不如中文版好用&#xff0c;但基本可以理解意思。那么Figma中文插件在哪里可以下载呢&#xff1f;下面介绍两种Figma中文插件的下载和安装方法&…

Redis数据库②高可用+持久化+性能管理

目录 一.高可用 二.持久化 1.Redis 提供两种方式进行持久化 2.RDB 持久化 &#xff08;1&#xff09;手动触发 &#xff08;2&#xff09;自动触发 &#xff08;3&#xff09;执行流程 &#xff08;4&#xff09;启动时加载 3.AOF持久化 &#xff08;1&#xff09;开…

如何进行软件质量评估?

一、为何评估 软件质量评估的重要性体现在以下几个关键方面&#xff1a; 确保用户需求满足&#xff1a; 软件质量评估首先是为了确保软件产品能够准确、完整地满足用户的需求。通过评估&#xff0c;可以发现软件在功能、性能、安全性等方面的不足之处&#xff0c;及时进行修正…

uniapp中自定义tabbar无法跳转?如何解决

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…

0基础如何进入IT行业?一文揭秘成功蜕变之路!|TodayAI

一、引言 在数字化转型的浪潮下&#xff0c;IT行业的魅力日益增强&#xff0c;吸引了大量跨领域人才的关注。然而&#xff0c;对于那些零基础的人来说&#xff0c;进入这个充满机遇和挑战的领域似乎是一条充满未知和困难的道路。本文旨在探讨零基础者如何通过有效的学习路径、…

1688详情API接口:解锁多元化应用场景java php c++

随着互联网的快速发展&#xff0c;数据交换和信息共享已成为企业日常运营不可或缺的一部分。在这样的背景下&#xff0c;API&#xff08;应用程序接口&#xff09;接口作为实现数据互通的重要工具&#xff0c;受到了越来越多企业的青睐。1688详情API接口作为阿里巴巴旗下的重要…

Games101Homework【6】Acceleration structure(Including framework analysis)

Code Analysis&#xff1a; friend&#xff1a; C中友元&#xff08;友元函数和友元类&#xff09;的用法和功能_friend class a<b>-CSDN博客 [C&#xff1a;不如Coding]&#xff08;11&#xff09;&#xff1a;友元函数与友元类_哔哩哔哩_bilibili Here is a simple…

C++模仿qq界面

#include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//设置窗口的大小this->resize(645,497);//设置窗口名字this->setWindowTitle("QQ");//设置窗口图标this->setWindowIcon(QIcon("C:\\zhouzhouMyfile\\qt_proj…

C语言结构体大小

1、结构体成员类型 结构体成员的类型&#xff0c;不同的结构体成员占用的内存大小不同 2、结构体对齐 为了提高内存访问的效率&#xff0c;编译器会对结构体进行对齐。对齐的方式是按照成员的类型和顺序来进行的。对齐的目的是为了让结构体成员的地址能够被整除&#xff0c;从…