springboot,spring框架返回204 status code的时候,会吞掉返回值
背景
发现有个有意思的现象,就是当你的接口返回204的 HTTP status code 的时候,会自动把 response body 吃掉,即使代码里是有返回的。例如
(其实204本身就是NO_CONTENT的意思,不过我是真没想到真干掉了返回)
@PostMapping("/stu")public Stu stu(HttpServletResponse resp) {resp.setStatus(204);Stu stu = new Stu();stu.setName("Stone");return stu;}@Datapublic static class Stu {private String name;}

注意:如果去掉204那行,则返回200,则

应用
其实,比如有个接口,按照restful的设计规则是有这样的需求的:如果创建了user就返回200(或者201 created),如果修改了user就返回204(no_content)
但是你的java的层面总是必须有个返回类型,不能用void,那就是在204的情况下也得在语法的层面上进行return,那这个204的行为就也算符合预期。
你有可能看到代码,在204的就 return null; 其实并不是因为你 return null 而导致 response body 无任何内容,其实是只要是204就会自动没有任何内容。
相关文章:
springboot,spring框架返回204 status code的时候,会吞掉返回值
背景 发现有个有意思的现象,就是当你的接口返回204的 HTTP status code 的时候,会自动把 response body 吃掉,即使代码里是有返回的。例如 (其实204本身就是NO_CONTENT的意思,不过我是真没想到真干掉了返回࿰…...
6-爬虫-scrapy解析数据(使用css选择器解析数据、xpath 解析数据)、 配置文件
1 scrapy解析数据 1.1 使用css选择器解析数据 1.2 xpath 解析数据 2 配置文件 3 整站爬取博客–》爬取详情–》数据传递 scrapy 爬虫框架补充 # 1 打码平台---》破解验证码-数字字母:ddddocr-计算题,滑块,成语。。。-云打码,超…...
idea 一直卡在maven正在解析maven依赖
修改maven Importing的jvm参数 -Xms1024m -Xmx2048m...
警告:未配置spring boot 配置注解处理器
前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 问题 我再使用ConfigurationProperties(prefix “redisson”)去加载配置文件中的属性的时候,发现idea有个警告 并且配…...
详解虚拟DOM的原理
Virtual DOM(虚拟DOM)是一种编程概念,它是对真实DOM的轻量级抽象表示。在前端开发中,直接操作真实DOM是昂贵的,尤其是当涉及到大量的DOM更新时。Virtual DOM的出现,为优化和提高Web应用的性能提供了一个有效…...
开设自己的网站系类03安装数据库(centos版)
编者买了一个服务器打算自己构建一个网站,用于记录生活。网站大概算是一个个人博客吧。记录创建过程的一些步骤。 前面已经讲过配置服务器的程序运行环境 网站运行还需要数据库,本篇文章则是安装数据库的内容。 卸载mariadb 查看是否有安装 mariadb&…...
Flutter StreamBuilder 实现局部刷新 Widget
Stream 就是事件流或者管道,是基于事件流驱动设计代码,然后监听订阅事件,并针对事件变换处理响应。 Stream 分单订阅流和广播流,单订阅流在发送完成事件之前只允许设置一个监听器,并且只有在流上设置监听器后才开始产生事件&…...
【代码随想录】算法训练营 第十六天 第六章 二叉树 Part 3
104. 二叉树的最大深度 题目 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例: 输入:root [3,9,20,null,null,15,7] 输出:3 思路 用递归来做,…...
【C++数据结构】顺序存储结构的抽象实现
文章目录 前言一、目标二、SeqList实现要点三、SeqList函数实现3.1 get函数3.2 set函数3.3 insert函数带2个参数的insert带一个参数的insert 3.4 remove函数3.5 clear函数3.6 下标运算符重载函数无const版本const版本 3.7 length函数 总结 前言 当谈到C数据结构时,…...
LeetCode75——Day31
文章目录 一、题目二、题解 一、题目 206. Reverse Linked List Given the head of a singly linked list, reverse the list, and return the reversed list. Example 1: Input: head [1,2,3,4,5] Output: [5,4,3,2,1] Example 2: Input: head [1,2] Output: [2,1] Exa…...
小白学爬虫:通过商品ID或商品链接封装接口获取淘宝商品销量数据接口|淘宝商品销量接口|淘宝月销量接口|淘宝总销量接口
淘宝商品销量接口是淘宝开放平台提供的一种API接口,通过该接口,商家可以获取到淘宝平台上的商品销量数据。使用淘宝商品销量接口的步骤如下: 1、在淘宝开放平台注册并创建应用,获取API Key和Secret Key等必要的信息。 2、根据淘宝…...
AI:75-基于生成对抗网络的虚拟现实场景增强
🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…...
【MySQL数据库】| 索引以及背后的数据结构
🎗️ 主页:小夜时雨 🎗️ 专栏:MySQL数据库 🎗️ 如何优雅的活着,是我找寻的方向 目录 1. 基本知识2. 索引背后的数据结构总结 1. 基本知识 概念 索引是一种特殊的文件,包含着对数据表里所有…...
家用电脑做服务器,本地服务器搭建,公网IP申请,路由器改桥接模式,拨号上网
先浇一盆冷水! 我不知道其他运营商是什么情况。联通的运营商公网IP端口 80、8080、443 都会被屏蔽掉,想要开放必须企业备案(个人不行)才可以。也就是说,只能通过其他端口进行showtime了。 需要哪些东西? 申…...
原神游戏干货分享:探索璃月的宝箱秘密,提高游戏资源获取效率!
《原神》是一款备受玩家喜爱的开放世界冒险游戏,而在游戏中获取资源是提升角色实力的重要途径。在这篇实用干货分享中,我们将介绍一些探索璃月地区的宝箱秘密,帮助你提高游戏资源获取的效率。 首先,璃月地区的宝箱分为普通宝箱和精…...
idea 2023 设置启动参数、单元测试启动参数
找到上方的editconfigration, 如下图,如果想在启动类上加,就选择springboot,如果想在单元测试加,就选择junit 在参数栏设置参数,多个参数以空格隔开 如果没有这一栏,就选择就可以了。 然后&…...
RSA加密算法(后端)
public class RSA {private static final String RSA_ALGORITHM "RSA";/*** 生成RSA密钥对** return RSA密钥对*/public static KeyPair generateKeyPair() throws NoSuchAlgorithmException {KeyPairGenerator keyPairGenerator KeyPairGenerator.getInstance(RSA…...
挑战100天 AI In LeetCode Day08(热题+面试经典150题)
挑战100天 AI In LeetCode Day08(热题面试经典150题) 一、LeetCode介绍二、LeetCode 热题 HOT 100-102.1 题目2.2 题解 三、面试经典 150 题-103.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站,提供各种算法和数据结构的题目&…...
地铁机电设备健康管理现状及改善方法
轨道交通和我们的生活息息相关,从火车到地铁再到轻轨,给人们的出行带来了很大的便利。因此,保障轨道交通的的正常运行和安全至关重要,需要运维人员及时排查设备的问题,解决故障,保证轨道交通的安全运行。本…...
安卓NDK开发
1、jni:java native interface 作用:用于java代码和C、c代码的交互(代码混编); 分类使用:Jni静态注册、jni动态注册 2、静态注册 1).绑定java方法和C/C方法的方式之一; …...
angular-formly实战教程:构建企业级复杂表单的完整流程
angular-formly实战教程:构建企业级复杂表单的完整流程 【免费下载链接】angular-formly JavaScript powered forms for AngularJS 项目地址: https://gitcode.com/gh_mirrors/an/angular-formly angular-formly是一个基于AngularJS的强大表单构建库…...
解锁B站缓存视频:m4s-converter让你的珍贵视频重获新生
解锁B站缓存视频:m4s-converter让你的珍贵视频重获新生 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾遇到过这样的困境&am…...
DolphinScheduler Switch组件避坑指南:从配置依赖关系到条件表达式,新手最易踩的3个坑
DolphinScheduler Switch组件实战避坑指南:从表达式陷阱到分支逻辑的深度解析 第一次在DolphinScheduler里拖入Switch组件时,那种"拖拽即完成"的错觉很快就会被现实击碎。我清楚地记得凌晨三点盯着屏幕上那个顽固的红色失败标记,明…...
3个技巧让你的Windows桌面焕然一新:ExplorerPatcher深度体验
3个技巧让你的Windows桌面焕然一新:ExplorerPatcher深度体验 【免费下载链接】ExplorerPatcher This project aims to enhance the working environment on Windows 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher 你是否对Windows 11的…...
Python调用外部程序实战:从os.system到subprocess的进阶指南
1. Python调用外部程序的基础方法 在Python中调用外部程序是自动化任务中非常常见的需求。比如你可能需要在自己的Python脚本中集成一个已有的Windows工具,或者批量处理某些文件。最基础的方法就是使用Python内置的os模块。 我第一次接触这个功能是在做一个自动化测…...
3分钟专业解锁Mac NTFS读写:Free-NTFS-for-Mac深度实战指南
3分钟专业解锁Mac NTFS读写:Free-NTFS-for-Mac深度实战指南 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and manageme…...
抖音无水印视频下载神器:5分钟掌握批量下载的完整解决方案
抖音无水印视频下载神器:5分钟掌握批量下载的完整解决方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback s…...
视频直播点播/高清点播/音视频点播EasyDSS一站式视频平台赋能大型比赛直播新体验
大型体育赛事、电竞比赛等直播活动,对音视频系统的安全性、稳定性、并发承载与全流程管理提出严苛要求。EasyDSS私有化视频会议系统凭借私有化部署、全链路视频能力、AI智能加持三大核心优势,为大型比赛直播构建安全、高效、可管可控的技术底座ÿ…...
BsMax深度解析:Blender插件架构与3ds Max工作流迁移的技术实现
BsMax深度解析:Blender插件架构与3ds Max工作流迁移的技术实现 【免费下载链接】BsMax BsMax Blender Addon (UI simulator/ Modeling/ Rigg & Animation/ Render Tools and ... 项目地址: https://gitcode.com/gh_mirrors/bs/BsMax BsMax作为Blender生态…...
从Kaggle竞赛到业务落地:XGBoost分类实战中的5个关键参数陷阱与解决方案
从Kaggle竞赛到业务落地:XGBoost分类实战中的5个关键参数陷阱与解决方案 当你在Kaggle排行榜上看到XGBoost模型大杀四方,信心满满地将它部署到业务系统中时,是否遇到过这样的困惑:为什么同样的参数设置,在实际业务中的…...
