当前位置: 首页 > article >正文

Springboot(四十四)Springboot集成Validation实现参数校验

在开发过程中,前端调用接口之前会判断必要的参数是否有值。但是这个情况只有前端判断是不可以的。还要在后端接口中作判断。

我之前就是直接在接口中写if判断,判断必要的参数是否为空或者null,再执行后边的逻辑。

最近在查找资料的时候,发现Springboot有一个参数校验框架Validation,这个玩意很好用。有了他我就不需要在接口中写if判断了~

一:引入pom依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

二:在controller中使用

1:在类上添加注解@Validated

2:在方法中进行校验

(1):原来我是这么写的:

/**
 * 文章详情
 * @param article_id
 * @param request
 * @return
 * @throws Exception
 */
@GetMapping("article/getArticleDetail")
@MySentinelResource(resource = "getData", number = 1) // 自定义注解:sentinel限流
public Map<String, Object> getArticleDetail(@RequestParam(defaultValue = "") String article_id, HttpServletRequest request) throws Exception
{
    // 参数判断
    if(article_id == "" || article_id == null)
    {
        Map<String, Object> result = new HashMap<>(2);
        result.put("code",-1);
        result.put("msg","参数错误!");
        return result;
    }
    Map<String, Object> result = articleService.getArticleDetail(article_id,request);
    return result;
}


(2):使用Validation框架之后:

/**
     * 文章详情
     * @param article_id
     * @param request
     * @return
     * @throws Exception
     */
    @GetMapping("article/getArticleDeta

http://www.kler.cn/a/418019.html

相关文章:

  • 【C语言】二叉树(BinaryTree)的创建、3种递归遍历、3种非递归遍历、结点度的实现
  • Swift实现高效链表排序:一步步解读
  • uniapp中父组件调用子组件方法
  • 【数据结构】二叉搜索树(二叉排序树)
  • DroneCAN 最新开发进展,Andrew在Ardupilot开发者大会2024的演讲
  • java之常用类和基础API—String学习一
  • 第六届国际科技创新(IAECST 2024)暨第四届物流系统与交通运输(LSTT 2024)
  • 【C++】优先队列(Priority Queue)全知道
  • Spring cache注解:缓存与业务解耦实战
  • 基于51单片机的电子秤设计
  • 网络安全系列 之 SQL注入学习总结
  • 21天掌握Java Web —— 第一天:Spring Boot入门
  • 面积等效原理
  • BUGKU printf
  • Electron builder打包配置
  • Adversarial Learning forSemi-Supervised Semantic Segmentation
  • 第二讲:C++基础语法与程序结构
  • 如何启动 Docker 服务:全面指南
  • python学习笔记8-函数2
  • 引出泛型 实现一个类,类中包含一个数组成员,使得数组中可以存放任何类型的数据,也可以根据成员方法返回数组中某个下标的值?
  • 从零开始学 Maven:简化 Java 项目的构建与管理
  • 数学题转excel;数学题库;数学试卷转excel;大风车excel
  • spring boot如何进行安全测试和渗透测试?
  • 使用ESP32通过Arduino IDE点亮1.8寸TFT显示屏
  • windows下osg程序键盘输入导致程序卡死问题
  • 【天地图】HTML页面实现车辆轨迹、起始点标记和轨迹打点的完整功能