第七节我们讲解了mybatis-plus工具的分页和枚举转换,把原生mybatis框架的分页和枚举转换漏讲了,这一节我们把这一块内容不上。1.实现分页mybatis框架通常会使用Mybatis-PageHelper分页插件实现分页。首先来看一下Mybatis-PageHelper的用法,https://github.com/pagehelper/Mybatis-PageHelper/blob/ma
转载 2024-05-19 06:37:52
63阅读
SpringBoot参数校验 + 全局异常处理 + 数据统一响应前言所需依赖包参数校验业务层校验Validator + BindResult进行校验Validator + 自动抛出异常全局异常处理基本使用自定义异常数据统一响应自定义统一响应响应枚举全局处理响应数据总结 前言一个后端接口大致分为四个部分组成:接口地址(url)、接口请求方式(get、post等)、请求数据(request)、响
SpringMVC的请求和响应SpringMVC工作流程SpringMVC的主要组件SpringMVC的数据响应SpringMVC的请求 SpringMVC工作流程1)⽤户发送请求⾄前端控制器 DispatcherServlet。2)DispatcherServlet 收到请求调⽤ HandlerMapping 处理器映射器。3)处理器映射器找到具体的处理器(可以根据 xml 配置、注解进⾏查找
文章目录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阅读
场景SpringBoot+@Validated实现参数验证(非空、类型、范围、格式等)-若依前后端导入Excel数据并校验为例:上面实现SpringBoot参数校验时以自带的注解进行校验,如果需要进行自定义校验规则,比如请求时必须携带某个请求码,而且该请求码字符串必须在指定范围,即从枚举类中指定包含的。上面是以post请求为例,下面以get请求为例。 实现 1、首先添加所需依赖<!--参数校
转载 2024-05-04 17:28:29
226阅读
1、枚举  在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。    例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。  在java中如何更好的使用这些“数据集”呢?因此枚举便派上了用场,是枚举的一个例子:public enum ColorEnum { RED, GREEN, YELLOW, BL
转载 2023-08-02 15:47:06
266阅读
正常来说springboot的默认response的返回类型都是以json的形式,这几天主管让我看看能不能兼容一下xml。 于是我在pom.xml下加入了对解析成xml的支持。<dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jacks
转载 2024-03-26 16:48:32
45阅读
该图片由Johnnys_pic在Pixabay上发布你好,我是看山。在优雅的使用枚举参数(原理篇)中我们聊过,Spring对于不同的参数形式,会采用不同的处理类处理参数,这种形式,有些类似于策略模式。将针对不同参数形式的处理逻辑,拆分到不同处理类中,减少耦合和各种if-else逻辑。本文就来扒一扒,RequestBody参数中使用枚举参数的原理。找入口对 Spring 有一定基础的同学一定知道,请
文章目录版本定义枚举和实体类、表问题一:@RequestParam与@RequestBody接收枚举属性报错造成原因解决办法问题二:@RequestBody接收枚举属性错误问题三:输入枚举名或者下标能查到对应枚举问题二、问题三解决办法:保存到数据库造成原因解决办法读取数据库数据优化枚举代码完整代码 使用枚举能最大程度减少字段的乱定义,统一管理枚举的值。所以,对于状态、性别等只有某几个值的属性,使
说明:(0)声明:可能本篇博客,自己的理解,存在偏差;但就目前来说,本篇博客的内容,能够帮助自己形成自洽; (主要的一个点是:自己这儿区分开了【枚举数据类型】和【枚举类】究竟合不合适)(1)为什么要介绍枚举类?:在【Spring Boot电商项目14:用户模块三:API统一返回对象;(其中,涉及了【使用枚举类,来管理接口失败时的错误信息】;)】中,遇到了【使用枚举类,来来管理接口失败时的
你好,我是看山。SpringBoot 实战:优雅的使用枚举参数 中聊了怎么优雅的使用枚举参数,本文就来扒一扒 Spring 是如何找到对应转换器 Converter 的。找入口对 Spring 有一定基础的同学一定知道,请求入口是DispatcherServlet,所有的请求最终都会落到doDispatch方法中的ha.handle(processedRequest, response, mapp
转载 2024-02-29 17:47:20
62阅读
( 二十五 ) SpringBoot 解决跨域问题 ( 二十五 ) SpringBoot 解决跨域问题  1、简介在前面的文章中我们对跨域做了详细的介绍, 参考:web前端跨域访问以及解决方案。 这篇主要是做个补充, 在SpringBoot 中多种姿势 解决跨域。跨域响应头详解:Access-Control-Allow-Or
转载 2024-03-16 13:40:01
103阅读
当我们后端 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阅读
从数据库中读取枚举值使用Mybatis-Plus读取借助MyBatis-Plus可以很容易的实现这一点。首先需要在配置文件中加入type-enums-package指定枚举的扫描包,MyBatis-Plus将为包内(包含子包)所有枚举进行适配,可以使用逗号或封号分隔多个包名。mybatis-plus: type-enums-package: [枚举包][,|;][枚举包]接着在枚举类中指定数据
SpringBoot 工程中的异常处理方式背景分析在项目的开发中,不管是对底层的数据逻辑操作过程,还是业务逻辑的处理过程,还是控制逻辑的处理过程,都不可避免会遇到各种可预知的、不可预知的异常。处理好异常对系统有很好的保护作用,同时会大大提高用户的体验。异常处理分析概述Java项目中处理异常方式无非两种,要么执行trycatch操作,要么执行throw操作(抛给其它对象处理),无论采用哪种方式,其目
一、前言这篇博客主要介绍以下几个方面:通过Validator来方便快捷地完成参数的校验工作;通过全局异常处理来完成异常操作的规范;通过数据统一响应来完成响应数据的规范;通过自定义注解,过滤返回的响应体是否需要进行统一包装。二、搭建spring boot项目项目结构如下:三、导入maven依赖<dependency> <groupId>org.spri
数据响应与内容协商 响应页面指的是我们如何发送一个请求,跳转到指定页面。将会在后面的视图解析中说明。 响应页面常见于开发单体应用。 响应数据常见于开发前后端分离的应用。后端代码主要用来接收请求。前端页面给我们发送过来请求,给前端响应json数据。或者给前端响应xml、图片、音视频数据。1.响应JSON1.1.Jackson.jar+@ResponseBody假设给前端自动返回json数据,需要引入
一 Spring WebFlux Framework说明Spring WebFlux 是 Spring Framework 5.0 中引入的新 reactive web framework。与 Spring MVC 不同,它不需要 Servlet API,完全异步和 non-blocking,并通过反应堆项目实现Reactive Streams规范。Spring WebFlux 有两种版本:功能和
SpringBoot自定义错误响应目录SpringBoot自定义错误响应1.默认错误响应2.自定义响应页面3.错误页面参数传递3.1 默认参数3.2 自定义参数传递4.总结1.默认错误响应使用SpringBoot默认错误响应效果如下: 默认错误响应效果  响应的html源码如下<html> <body> <h1&g
  • 1
  • 2
  • 3
  • 4
  • 5