一种springboot请求参数校验的实现方案

一、前提引入

很多时候,springboot提供的Restful-api需要根据业务需要进行参数校验,相应的,基于各位码友的习惯,各有各的实现方式,可谓是八仙过海各显神通。

二、常见方案

2.1 一种最原始的方法

通过if语句,对特定参数进行校验

if(null == name){return "name 不能为空"
}

2.2 借助工具类

稍稍高级一些,可以借助工具类进行组合校验

if(StringUitls.isAnyEmpty(name,userId,address)){return "必填参数不能为空"
}

2.3 引入依赖包的一般应用,利用注解的方式

springboot为我们提供了相应的依赖包,只需要引入对应的依赖(甚至不需要引入,因为早期版本里spring已经给整合进去了),这里不对注解做过多的讲解,感兴趣的可以各自去阅读具体注解的源码。示例编码如下:

  • 引入依赖(需要的话)
        <!--    注解校验依赖    --><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency>
  • controller层应用,在请求体重加入@Validated注解
    @ApiOperation(value =<

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为无网环境安装golang

yum install --downloadonly --downloaddir/root/download golang #打包/root/download下rpm 文件到无网机器上 #解压后进入目录基于解压rpm文件安装rpm -ivh *.rpm在没有外网连接的 CentOS 7 服务器上安装应用程序可能需要一些额外的步骤&#xff0c;因为你不能直接使用 yum 或…

Java-变量和常量

变量是什么&#xff1a;就是可以变化的量&#xff01;Java是一种强类型语言&#xff0c;每个变量必须声明声明其类型Java变量是程序中最基础的存储单元&#xff0c;其要素包括变量名&#xff0c;变量类型和作用域 type varName [value][{,varName[value]}]; //数据类型 变量…

五种主流数据库:连接查询

关系型数据库通常将不同的实体对象和它们之间的联系存储在多个表中&#xff0c;例如电商系统中使用的产品表、用户表、订单表以及订单明细表等。当我们查看某个订单信息时&#xff0c;需要同时从这几个表中查找关于该订单的相关数据。 本文比较五种主流数据库实现的多表连接查…

Python编程技巧大全

简介 Python是一种高级编程语言&#xff0c;以其简洁明了的语法和强大的功能库而广受欢迎。无论是数据科学、机器学习还是Web开发&#xff0c;Python都有着广泛的应用。在这篇文章中&#xff0c;我们将分享一些Python编程的常见技巧&#xff0c;帮助你提升编程效率&#xff0c…

第3章 数据链路层(3)

3.6 局域网 采用广播信道 3.6.1 局域网的基本概念和体系结构 特点: ①覆盖范围小②专门通信介质【双绞线,同轴电缆】③通信延时短,误码率低,可靠性高。④通信质量好。因此采用无确认,无连接的服务。⑤关系平等,共享信道⑥分布式控制,广播信道,广播,组播 决定因素: ①拓扑结构:…

深入理解HTTP/HTTPS协议

HTTP协议像日常生活中简单的口头或书面交流&#xff0c;而HTTPS则类似于涉及敏感信息交换时采取的加密、身份验证等安全措施&#xff0c;确保通信的安全性和隐私性。该篇文章从以下几个方面展开&#xff1a; 目录 HTTP协议 请求与响应 请求&#xff1a; 响应&#xff1a; …

MuJoCo 入门教程(八)Model仓库

系列文章目录 前言 一、MuJoCo 动物园 一个物理仿真器的好坏取决于它所仿真的模型&#xff0c;而在像 MuJoCo 这样功能强大、建模选项众多的仿真器中&#xff0c;很容易创建出行为与预期不符的 "坏 "模型。MuJoCo Menagerie 的目标是为社区提供一个设计精良、开箱即用…

【学习笔记】R语言入门与数据分析1

数据分析 数据分析的过程&#xff1a; 数据采集 数据存储 数据分析 数据挖掘 数据可视化 进行决策 数据挖掘 数据量大 复杂度高&#xff0c;容忍一定的误差限 追求相关性而非因果性 数据可视化 直观明了 R语言介绍 R是免费的&#xff08;开源软件、扩展性好&#xff09;…

家居颜色搭配6大法则,奶油风配色指南。福州中宅装饰,福州装修

奶油风装修的配色主要以奶油色系为主&#xff0c;搭配其他低饱和度的色彩&#xff0c;营造出一种温馨、柔和的氛围。以下是一些常见的奶油风装修配色法则&#xff1a; 1. 主色&#xff1a;奶油色 奶油色是奶油风装修的主色调&#xff0c;通常使用在墙面、地面、家具等大面积的…

如何从0开始构建GPT模型?

OpenAI 推出强大的生成式预训练转换器 &#xff08;GPT&#xff09; 语言模型&#xff0c;为自然语言处理 &#xff08;NLP&#xff09; 开辟了新的领域。将 GPT 模型集成到虚拟助手和聊天机器人中可以增强它们的能力&#xff0c;这导致对 GPT 模型的需求激增。根据 Allied Mar…

跨链桥的王牌Wormhole,现在买还有机会吗?附bitget教程

昨天Wormhole上线发了个推文&#xff0c;大致是Wormhole在3月4日的场外均价为1.5&#xff0c;历史数据最高2&#xff0c;当下价格相对公允。然而一点点波动加上上线不到24小时&#xff0c;面临空投的抛压&#xff0c;有价格波动我认为是很正常&#xff0c;后续到2估计不会太难说…

软考122-上午题-【软件工程】-需求分析

一、软件需求 在进行需求获取之前&#xff0c;首先要明确需要获取什么&#xff0c;也就是需求包含哪些内容。 软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通常&#xff0c;这些需求包括功能需求、性能需求、用户或人的因素、环境需求、界面需…

fzf模糊查找工具

fzf是一个命令行模糊查找工具&#xff0c;可以帮助用户快速查找和选择文件、目录、命令历史和其他文本内容。它与终端兼容&#xff0c;并且可以与众多其他命令行工具无缝集成。 以下是fzf的一些主要特点和使用方法&#xff1a; 快速模糊查找&#xff1a;fzf可以根据输入的关键…

Android开发之移除权限

Android开发之移除权限 在Android开发结束后&#xff0c;我们将build好的App Bundle上传至Google Play。这时Google可能会提示一些需要解决的错误&#xff0c;比如xx权限需要限制&#xff0c;需要解释为什么需要这些权限&#xff0c;需要添加文字描述和视频链接&#xff0c;但…

如何循环pandas格式的数据

如何循环pandas格式的数据 要循环处理 Pandas 格式的数据&#xff0c;可以使用 iterrows() 方法或者 iteritems() 方法。 iterrows() 方法&#xff1a; import pandas as pd# 假设 df 是你的 Pandas DataFrame for index, row in df.iterrows():# 在这里处理每一行的数据&am…

SOCKS代理是如何提高网络性能和兼容性的?

SOCKS代理作为一种网络协议中间件&#xff0c;不仅在提升网络隐私和安全性方面发挥着重要作用&#xff0c;也在提高网络性能和兼容性方面有着不容忽视的影响&#x1f680;。本文将深入探讨SOCKS代理如何通过减少网络延迟&#x1f680;、优化数据传输&#x1f504;、提高跨平台兼…

0-学习Python的大纲路线

一、学习Python的大纲路线通常包括以下几个阶段&#xff1a; 基础知识入门: Python简介与安装基本概念&#xff1a;变量、数据类型和运算符控制流语句&#xff1a;条件判断&#xff08;if&#xff09;、循环&#xff08;for/while&#xff09;基本数据结构&#xff1a;列表、元…

【智能算法应用】灰狼算法求解TSP问题

目录 1.算法原理2.TSP数学模型3.结果展示4.参考文献 1.算法原理 【智能算法】灰狼算法&#xff08;GWO&#xff09;原理及实现 2.TSP数学模型 旅行商问题&#xff08;TSP&#xff09;是一种著名的组合优化问题&#xff0c;它涉及寻找给定一组城市及其之间的距离或成本&#…

查询卖家已卖出的交易数据

要获取淘宝订单详情数据&#xff0c;你需要使用淘宝开放平台的API来获取数据。以下是获取淘宝订单详情数据的步骤&#xff1a; 在淘宝开放平台上创建一个应用&#xff0c;获取到AppKey和AppSecret。 使用OAuth 2.0授权方式&#xff0c;获取到授权码。 第三方公司授权 使用授…

0411代码,备战蓝桥杯基础数据结构

1.单链表 #include<algorithm> #include<iostream> #include<cstring> #include<queue> #include<cmath>using namespace std; const int N 1000010;int h,e[N],ne[N],idx; int m;void addhead(int x){e[idx] x;ne[idx] h;h idx ; }void ad…