@Validated校验多层json

2024-05-10 18:20
文章标签 校验 json 多层 validated

本文主要是介绍@Validated校验多层json,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

请求体

{"aid":123,"name": "abc","phone": "13333333333","address":"abcdefgh","region":{"province":234,"district":445,"city":3,"full_name":"辽宁 大连"}
}

 


@RestController
@RequestMapping("api/user/address")
@Api(tags = "用户地址管理")
public class AddressController {@Resource@NotLogin@PostMapping("/add")@ApiOperation(value="添加地址")public AjaxResult<Object> add(@Validated(AddressValidate.Basic.class) @RequestBody AddressValidate addressValidate) {return AjaxResult.success(addressValidate);}@NotLogin@PostMapping("/edit")@ApiOperation(value="添加地址")public AjaxResult<Object> edit(@Validated(AddressValidate.Update.class) @RequestBody AddressValidate addressValidate) {return AjaxResult.success(addressValidate);}}

 AddressValidate.java

package com.mdd.front.validate.users;import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;import javax.validation.Valid;
import javax.validation.constraints.*;
import java.io.Serializable;
@Data
@ApiModel("更新地址")
public class AddressValidate implements Serializable {private static final long serialVersionUID = 1L;public interface Basic {}public interface Update extends Basic {}@NotNull(groups = Update.class, message = "地址ID参数缺失")@ApiModelProperty(value = "地址ID", required = true)private Integer aid;@NotNull(groups = Basic.class, message = "联系人参数缺失")@NotBlank(groups = Basic.class, message = "联系人不能为空")@Size(groups = Basic.class, min = 2, message="联系人最少2个字")@ApiModelProperty(value = "联系人", required = true)private String name;@NotNull(groups = Basic.class, message = "联系电话参数缺失")@NotBlank(groups = Basic.class, message = "联系电话不能为空")@Size(groups = Basic.class, min = 11, max = 11, message="电话应为11位")@Pattern(groups = Basic.class, regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$", message = "手机号格式有误")@ApiModelProperty(value = "联系电话", required = true)private String phone;@NotNull(groups = Basic.class, message = "详细地址参数缺失")@NotBlank(groups = Basic.class, message = "详细地址不能为空")@Size(groups = Basic.class, min = 6, message="详细地址最少6个字")@ApiModelProperty(value = "详细地址", required = true)private String address;@NotNull(groups = Basic.class, message = "地区参数缺失")@Validprivate Region region;@Datapublic static class Region {@NotNull(groups = Basic.class, message = "province参数缺失")@ApiModelProperty(value = "省", required = true)private Integer province;@NotNull(groups = Basic.class, message = "city参数缺失")@ApiModelProperty(value = "市", required = true)private Integer city;@NotNull(groups = Basic.class, message = "district参数缺失")@ApiModelProperty(value = "区", required = true)private Integer district;@NotNull(groups = Basic.class, message = "full_name参数缺失")@ApiModelProperty(value = "地区全称", required = true)private String full_name;}
}

这篇关于@Validated校验多层json的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/977200

相关文章

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

python dict转换成json格式的实现

《pythondict转换成json格式的实现》本文主要介绍了pythondict转换成json格式的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下... 一开始你变成字典格式data = [ { 'a' : 1, 'b' : 2, 'c编程' : 3,

Java实现XML与JSON的互相转换详解

《Java实现XML与JSON的互相转换详解》这篇文章主要为大家详细介绍了如何使用Java实现XML与JSON的互相转换,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. XML转jsON1.1 代码目的1.2 代码实现2. JSON转XML3. JSON转XML并输出成指定的

Jackson库进行JSON 序列化时遇到了无限递归(Infinite Recursion)的问题及解决方案

《Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursion)的问题及解决方案》使用Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursi... 目录解决方案‌1. 使用 @jsonIgnore 忽略一个方向的引用2. 使用 @JsonManagedR

SpringBoot接收JSON类型的参数方式

《SpringBoot接收JSON类型的参数方式》:本文主要介绍SpringBoot接收JSON类型的参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、jsON二、代码准备三、Apifox操作总结一、JSON在学习前端技术时,我们有讲到过JSON,而在

Java中使用注解校验手机号格式的详细指南

《Java中使用注解校验手机号格式的详细指南》在现代的Web应用开发中,数据校验是一个非常重要的环节,本文将详细介绍如何在Java中使用注解对手机号格式进行校验,感兴趣的小伙伴可以了解下... 目录1. 引言2. 数据校验的重要性3. Java中的数据校验框架4. 使用注解校验手机号格式4.1 @NotBl