返回顶部
首页 > 资讯 > 后端开发 > 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://lsjlt.com/news/137085.html(转载时请注明来源链接)

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

猜你喜欢
  • 解决get请求入参@NotNull验证不生效问题
    目录get请求@NotNull验证不生效解决办法使用@NotEmpty,@NotBlank,@NotNull及@Valid注解校验请求参数这里列举一下常用的注解当校验不同过时,会返回...
    99+
    2024-04-02
  • 怎么解决thinkphp验证码不生效问题
    这篇文章主要介绍怎么解决thinkphp验证码不生效问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!thinkphp验证码不生效的解决办法:1、在调用验证码之前加上“ob_clean();”语句;2、检查下自己的数...
    99+
    2023-06-22
  • SpringMVC @NotNull校验不生效的解决方案
    目录SpringMVC @NotNull校验不生效加了两个依赖问题解决@NotNull注解失效原因之一Lombok判断注解怎么使用,总结下来为SpringMVC @NotNull校验...
    99+
    2024-04-02
  • 如何解决Spring in action @valid验证不生效的问题
    解决Spring in action @valid验证不生效 按照书上的示例代码来实现但是,添加了验证但是没有生效。 Spring提供了校验Api是使用但是没有提供实现,所以需要自己...
    99+
    2024-04-02
  • 解决springboot引入swagger2不生效问题
    目录问题描述:springboot引入swagger2的步骤:①引入依赖②编写Swagger2的配置类③在controller中添加注解:按需添加注解④在model(pojo)上加注...
    99+
    2024-04-02
  • 解决vue $http的get和post请求跨域问题
    vue $http的get和post请求跨域问题 首先在config/index.js中配置proxyTable proxyTable: { '/api':{ ...
    99+
    2024-04-02
  • 解决Tomcat修改get提交请求乱码问题
    1:表单提交controller获得中文参数后乱码解决方案注意: jsp页面编码设置为UTF-8***************form表单提交方式为必须为post,get方式下面spring编码过滤器不起效果 <%@ page lan...
    99+
    2023-05-31
    tomcat get 乱码
  • feign GET请求不支持对象传参的坑怎么解决
    这篇“feign GET请求不支持对象传参的坑怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“feign&n...
    99+
    2023-06-29
  • 使用Pytest.main()运行时参数不生效问题解决
    目录问题回顾前置配置解决办法总结问题回顾 使用pytest.main('-x')运行时遇到失败用例仍继续执行后面的用例,后改成pytest.main(['22...
    99+
    2023-02-07
    Pytest.main() 参数不生效 Pytest.main() 参数
  • 如何解决ajax请求Session失效问题
    本篇内容主要讲解“如何解决ajax请求Session失效问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决ajax请求Session失效问题”吧!最近由...
    99+
    2024-04-02
  • 怎么解决php验证码失效问题
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。怎么解决php验证码失效问题?PHP页面验证码失效不显示问题解决笔者也是刚接触php,难免会出现很多问题,导入项目的时候就出现了验证码失效不显示的问题。本地配置了ph...
    99+
    2024-04-02
  • 如何解决php验证码失效问题
    这篇“如何解决php验证码失效问题”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何解决php验证码失效问题”文章吧。php...
    99+
    2023-07-04
  • 如何解决php验证码后台不能生成的问题
    这篇文章将为大家详细讲解有关如何解决php验证码后台不能生成的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php验证码后台不能生成的解决办法:1、添加“header('Content-typ...
    99+
    2023-06-25
  • 解决@Scope(“prototype“)不生效的问题
    目录@Scope(“prototype“)不生效@Scope(“prototype“)正确用法——解决Bean...
    99+
    2024-04-02
  • mybatisplus isNotNull不生效问题及解决
    目录mybatisplus isNotNull不生效myBatis的<isNotNull>标签使用以<isNotNull>标签为例mybatisplus is...
    99+
    2024-04-02
  • 如何解决vue中$http的get和post请求跨域问题
    这篇文章给大家分享的是有关如何解决vue中$http的get和post请求跨域问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。vue $http的get和post请求跨域问题首先在config/index.js...
    99+
    2023-06-15
  • 在Go语言中如何解决并发网络请求的请求参数校验和合法性问题?
    在Go语言中进行并发网络请求时,我们经常需要对请求参数进行校验和合法性检查。本文将介绍如何使用Go语言的并发特性来解决这些问题,并提供具体的代码示例。首先,我们需要使用Go语言的协程来同时发送多个网络请求。Go语言提供了goroutine来...
    99+
    2023-10-22
    并发(Concurrency) 请求参数校验(parameter validation) 合法性问题(validity
  • 解决SpringCloudfeignGET请求无法用实体传参的问题
    目录Spring Cloud feign GET请求无法用实体传参解决办法Spring Cloud Feign异步调用传参问题方案1方案2总结Spring Cloud feign G...
    99+
    2023-01-01
    Spring Cloud feign GET请求实体传参 feign GET请求
  • ThinkPHP3验证码不显示问题怎么解决
    这篇文章主要介绍“ThinkPHP3验证码不显示问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ThinkPHP3验证码不显示问题怎么解决”文章能帮助大家解决问题。1.验证码图片保存路径不...
    99+
    2023-07-06
  • 如何解决mac php不生效问题
    本文操作环境:MAC OS X 10.9.1系统,PHP5版,MacBook Air 2019电脑。如何解决mac php不生效问题Mac环境变量不生效的问题(将php添加到环境变量)。Mac环境变量不生效,关键在于bash和zsh举例:将...
    99+
    2015-07-07
    mac php
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作