背景 在做之前项目的时候,里面充斥很多不明的变量,一般来说状态,标志等等属性都需要使用Int或者固定字符串来标识,比如0代表可用,1代表禁用,或者是可用,不可用,随着人员的增加,萝卜酸菜各有所爱,有些人可能会使用1代表可用,0代表不可用。还有的人不喜欢使用0,直接用1,2来代替。使用字符串就更加坑爹了,比如你使用可用,不可用,他使用可用,禁用。虽然知道你要表达的意思,但是给前端人员的时候就十分难
转载
2024-04-09 18:20:59
531阅读
文章目录1. 使用场景2. 技术实现2.1 实现思路2.2 代码实现2.2.1 引入依赖2.2.2 自定义校验注解2.2.3 校验工具类2.2.4 校验处理逻辑3. 使用示例 1. 使用场景某接口的入参某属性,只希望为系统中某枚举的中定义过的值。 例如:用户类型枚举中定义 10-普通用户 20-管理员 30-游客 40-中级用户 50-高级用户 希望某接口的入参 userType 只能填入这几种
转载
2024-03-05 04:31:26
93阅读
该图片由Johnnys_pic在Pixabay上发布你好,我是看山。在优雅的使用枚举参数(原理篇)中我们聊过,Spring对于不同的参数形式,会采用不同的处理类处理参数,这种形式,有些类似于策略模式。将针对不同参数形式的处理逻辑,拆分到不同处理类中,减少耦合和各种if-else逻辑。本文就来扒一扒,RequestBody参数中使用枚举参数的原理。找入口对 Spring 有一定基础的同学一定知道,请
转载
2024-02-21 11:21:31
83阅读
说明:(0)声明:可能本篇博客,自己的理解,存在偏差;但就目前来说,本篇博客的内容,能够帮助自己形成自洽; (主要的一个点是:自己这儿区分开了【枚举数据类型】和【枚举类】究竟合不合适)(1)为什么要介绍枚举类?:在【Spring Boot电商项目14:用户模块三:API统一返回对象;(其中,涉及了【使用枚举类,来管理接口失败时的错误信息】;)】中,遇到了【使用枚举类,来来管理接口失败时的
转载
2024-05-31 13:36:56
44阅读
你好,我是看山。SpringBoot 实战:优雅的使用枚举参数 中聊了怎么优雅的使用枚举参数,本文就来扒一扒 Spring 是如何找到对应转换器 Converter 的。找入口对 Spring 有一定基础的同学一定知道,请求入口是DispatcherServlet,所有的请求最终都会落到doDispatch方法中的ha.handle(processedRequest, response, mapp
转载
2024-02-29 17:47:20
62阅读
当我们后端 restful 开发的时候,作为安全开发必须在对一些参数进行校验。在我最开始写代码的时候,把请求参数的校验逻辑写在业务逻辑当中。其实还有更加优雅的方式去进行参数校验,那就是通过 hibernate-validate 通过注册的方式来进行业务校验。1、一个简单的 Demo我们首先通过一个 Spring boot 项目来简单的认识一下如何使用 hibernate-validator 来进行
转载
2023-12-15 10:24:00
108阅读
该图片由Sinousxl在Pixabay上发布你好,我是看山。接口开发过程中不免有表示类型的参数,比如 0 表示未知,1 表示男,2 表示女。通常有两种做法,一种是用数字表示,另一种是使用枚举实现。使用数字表示就是通过契约形式,约定每个数字表示的含义,接口接收到参数,就按照约定对类型进行判断,接口维护成本比较大。在 Spring 体系中,使用枚举表示,是借助 Spring 的 Converter
转载
2024-02-19 13:50:33
615阅读
# Java方法接受枚举类型当参数
在Java中,枚举类型是一种特殊的数据类型,它由一组具名的常量组成。枚举类型在代码中提供了更好的可读性和可维护性。在编写方法时,有时候我们需要接受枚举类型作为参数,以便在方法中对不同的枚举常量执行不同的逻辑操作。
## 枚举类型的定义
在Java中,我们可以使用关键字`enum`来定义一个枚举类型。下面是一个简单的枚举类型的示例:
```java
pub
原创
2024-06-05 04:02:46
39阅读
# 解析Java枚举参数映射问题
在Java开发中,枚举类型是一种非常有用的数据类型。枚举类型可以帮助我们定义一组常量,这些常量在整个应用程序中都是固定的。然而,有时候我们可能会遇到枚举接受参数但无法正确映射到对应常量的问题。在本文中,我们将通过一个示例来演示这个问题,并提供解决方案。
## 问题描述
假设我们有一个枚举类型`Fruit`,其中包含一些常见水果的名称和颜色。我们希望通过传入参
原创
2024-04-02 05:23:46
83阅读
写在前面:各位看到此博客的小伙伴,如有不对的地方请及时通过私信我或者评论此博客的方式指出,以免误人子弟。多谢! 有时候会把表里的某个字段的值设置为数字或者为英文来表示他的一些特殊含义,就拿设置英文字母来说,假如a对应是学生,b对应是教师,在java里面定义成这样的枚举,但是一般使用mybatis查出来的话,我们想要让它自动装换成我们想要的枚举,这时候在接口返回的时候首先我想到的是自己对
1. Spring Boot整合Spring Data Redis-整合步骤(1) 阐述Spring Boot整合Spring Data Redis整合步骤。 创建项目,修改pom文件,配置全局配置文件,创建启动类<!-- springBoot 的启动器 -->
<dependency>
<groupId>org.springframework.boot
在SpringMVC 转换时候报如下错误ERROR com.xxxx.common.exception.BaseExceptionHandler:56 - org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object 'XXXXPO' on field 'state': reject
转载
2024-06-01 09:24:25
404阅读
第六章 常用类【这章中代码没有导入的类使用CTRL+Shift+O】导入包装类的使用public class TestWrappedClass {//public final class Integer extends Number implements Comparable
public static void main(String[] args) {
//基本数据类型转成包装类对象
转载
2024-06-24 20:07:43
25阅读
public Object invokeForRequest(NativeWebRequest request, @Nullable ModelAndViewContainer mavContainer,
Object... providedArgs) throws Exception {
Object[] args = getMethodArgumentValues(r
转载
2024-06-20 11:26:40
88阅读
# Java 参数传参枚举接受不到值
在Java编程中,我们经常会遇到使用枚举类型作为方法的参数,然而有时候会发现枚举类型无法接收到传入的值,这个问题可能让一些初学者感到困惑。本文将探讨Java中参数传参枚举接受不到值的原因,并提供解决方案。
## 问题分析
当我们定义一个枚举类型作为方法的参数时,通常会创建一个枚举类,其中包含一组固定的常量。然后在方法调用时,我们传入一个枚举类型的参数。但
原创
2024-04-16 06:53:37
232阅读
问题描述在SpringBoot代码开发中,有时我们要接收的参数甚至有List数组等复杂的参数,而且还是一次接收两张表的参数我们应该如何解决?模拟场景书写外卖软件时,有两张表,第一个表记录菜品为dish表,第二个表记录的是菜品的口味为dish_flavor而添加菜品时则需要一次性存这两张表,而且口味参数还是Listsql代码:CREATE TABLE `dish` (
`id` BIGINT(2
转载
2024-06-03 11:27:39
299阅读
需求背景:这一天,前端 阿签 兴高采烈地来到公司,打卡后来到工位,打开电脑准备工作。昨天后端小伙伴刚提交了新的功能接口,又是联调接口的一天。原本兴致很高的 阿签 调着调着心里有点毛躁起来,这TM接口返回格式怎么和之前的接口又不一样,抛出异常时也是各种各样的。无疑增加 签哥 我的工作量吗?为解决这一问题,对接口返回格式、异常进行了统一处理。一、
转载
2024-02-16 20:58:04
112阅读
环境:springboot version:2.7.2spring-data-elasticsearch: 2.7.2elaseicsearch: 7.10.1以上是我测试环境,如果环境相差太大,可能会有所差异,仅做参考。写博客主要是为了记录今天对LocalDateTime处理的过程。首先,简单介绍一下业务环境。我们的业务库有大量数据,需要导到Elasticsearch中,以使用Elas
Last week I was working on the backend of a project(SEF AcadeMiX) which uses JPA and spring boot. There, I had to add translations of the data also into the database. (Actually, we had already created
转载
2024-03-18 17:46:10
135阅读
一:请求的设置一般请求中请求的参数都是以K=V的形式来进行传递,但传递二进制数据(文件,图片)时就会显得力不从心,所以二进制数据已multipart格式请求传递。multipart格式请求与一般请求的不同之处:content-type请求头参数实体内容为二进制数据。请求要求:请求类型只能为postenctype设置为 multipart/form-data,将用户所选文件的二进制数据发送给服务器s
转载
2024-02-19 13:34:23
137阅读