iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >解决get请求入参@NotNull验证不生效问题
  • 938
分享到

解决get请求入参@NotNull验证不生效问题

2024-04-02 19:04:59 938人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录get请求@NotNull验证不生效解决办法使用@NotEmpty,@NotBlank,@NotNull及@Valid注解校验请求参数这里列举一下常用的注解当校验不同过时,会返回

get请求@NotNull验证不生效

在这里插入图片描述

解决办法

在该方法的controller类上加@Validated

在这里插入图片描述

验证信息生效了

使用@NotEmpty,@NotBlank,@NotNull及@Valid注解校验请求参数

@NotEmpty,@NotBlank,@NotNull 这些注解所在的jar包路径在javax.validation.constraints 的包下面,这个包下面也封装了其他的注解

这里列举一下常用的注解

并做简单介绍,其余还要在使用的时候慢慢挖掘


//被注释的元素必须为null
@Null  
//被注释的元素不能为null
@NotNull  
//被注释的元素必须为true
@AssertTrue  
//被注释的元素必须为false
@AssertFalse  
//被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Min(value)  
//被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Max(value)  
//被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMin(value)  
//被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMax(value)  
//被注释的元素的大小必须在指定的范围内。
@Size(max,min) 
//被注释的元素必须是一个数字,其值必须在可接受的范围内
@Digits(integer,fraction) 
//被注释的元素必须是一个过去的日期 
@Past  
//被注释的元素必须是一个将来的日期
@Future  
//被注释的元素必须符合指定的正则表达式。
@Pattern(value) 
//被注释的元素必须是电子邮件地址
@Email 
//被注释的字符串的大小必须在指定的范围内
@Length 
//被注释的字符串必须非空
@NotEmpty  
//被注释的元素必须在合适的范围内
@Range

这些注解用于加在java的实体类属性字段上,在进行请求或请求的时候会根据字段的注解进行对应的校验,简化校验相关的代码。

当校验不同过时,会返回对应的message描述

前端请求解析到 controller 的时候,可使用 @valid 注解,开启校验,以下为使用的示例:


   @PostMapping("/get/user/course")
    public UserCourseInfo getUserCourseInfo(@Valid @RequestBody CreateUserRequest request) {
        return userService.getUserCourseInfo(request);
    }

CreateUserRequest 实体类并添加校验注解


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class CreateUserRequest {
    
    @NotNull(message = "不可为空")
    @Length(min=20,max=30,message = "长度在20到30")
    private String username;
    
    @Email
    @NotBlank
    private String email;
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 解决get请求入参@NotNull验证不生效问题

本文链接: https://www.lsjlt.com/news/137085.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作