断言断言是一个逻辑判断,用于检查不应该发生的情况Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数-enableassertions开启SpringBoot 中提供了 Assert 断言工具类,通常用于数据合法性检查// 要求参数 object 必须为非空(Not Null),否则抛出异常,不予放行
// 参数 message 参数用于定制异常信息。
void notNull(Ob
使用示例入门web接口@RestController
public class HelloController {
@PostMapping("/t1")
public void t1(@Validated @RequestBody Request request) {
System.out.println(11);
}
}实体类@Data
public
转载
2024-10-01 22:28:06
223阅读
一、背景 针对项目已经开发完的接口,都需要加上传输数据加密的功能,对接口入参进行AES
原创
2022-10-20 09:48:46
1178阅读
1.Mavne导入加密解密所需的依赖 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-io</artifactId> <version>1.3.2</version></dependency> 2.在asp
原创
2022-10-30 10:41:07
818阅读
前提前段时间在做一个对外的网关项目,涉及到加密和解密模块,这里详细分析解决方案和适用的场景。为了模拟真实的交互场景,先定制一下整个交互流程。第三方传输(包括请求和响应)数据报文包括三个部分:1、timestamp,long类型,时间戳。2、data,String类型,实际的业务请求数据转化成的Json字符串再进行加密得到的密文。3、sign,签名,生成规则算法伪代码是SHA-256(data=xx
1. 前言前后端分离模式,可以让后端和前端开发人员致力于自己擅长的领域,且可以让前端和后端业务逻辑高度解耦合。本文从一个简单的案例入手,讲解使用 spring boot和vue3如何实现前后端的分离。前后端分离有2 种模式:逻辑分离:在一个项目中的前后分离。项目整体架构还是MVC模式,适合于小型项目。物理分离:独立的前后端项目分离。因是不同项目,会涉及远程调用等问题,适合于中、大型项目。后端项目仅
转载
2024-05-29 11:23:48
35阅读
# Java出参入参加密方法实现
## 一、整体流程
首先,我们需要了解整个加密过程的步骤。下面是一个简单的表格展示:
```mermaid
erDiagram
算法 --> 生成密钥
生成密钥 --> 加密数据
加密数据 --> 解密数据
```
## 二、具体步骤
### 步骤一:生成密钥
在Java中,可以使用`KeyGenerator`类生成密钥,代码如
原创
2024-05-08 06:32:11
62阅读
这日,刚撸完2两代码,正准备掏出手机摸鱼放松放松,只见老大朝我走过来,并露出一个”善意“的微笑,兴伟呀,xx项目有于安全问题,需要对接口整体进行加密处理,你这方面比较有经验,就给你安排上了哈,看这周内提测行不...,额,摸摸头上飘摇着而稀疏的长发,感觉我爱了。和产品、前端同学对外需求后,梳理了相关技术方案,主要的需求点如下:尽量少改动,不影响之前的业务逻辑;考虑到时间紧迫性,可采用对称性加密方式,
转载
2024-03-26 10:17:26
167阅读
一、出入参入参是被调函数需要的参数, 出参是主调函数需要的参数。 怎么理解呢?入参,就是被调函数要使用的,没有它被调函数可能无法工作,而为了确保使用它只是来满足被调函数的工作,不影响到主调函数的变量,(可能为了复制花费使用引用或者指针)一般加上 const 关键字加以修饰。出参,就是经过被调函数的执行后,需要返回给主调函数的参数,它可以是主调函数传入的,也可以是被调函数内部生成的。值得注意的一点,
转载
2023-11-24 21:31:59
1524阅读
入参与变量的定义方式一致,稍微不同的是,不会用到的参数可以省略变量名称:// SPDX-License-Identifier: MITpragma solidity ^0.8.0;contract Simple { function input(uint _a, uint) public{ // do something with _a. }}出参多返回值// SPDX-
原创
2022-12-01 10:41:10
352阅读
Spring MVC 框架中你可以按任意顺序定义请求处理方法的入参(除了 Errors 和 BindingResult 必须紧跟在命令对象/表单参数后面以外),Spring MVC 会根据反射机制自动将对应的对象通过入参传递给请求处理方法。这种机制让开发者完全可以不依赖 Servlet API 开发控制层的程序,当请求处理方法需要特定的对象时,仅仅需要在参
转载
2024-04-19 08:34:23
129阅读
1. 接口参数校验入参出参校验是每个程序员必备的基本素养。设计接口,必须先校验参数。比如入参是否允许为空,入参长度是否符合预期长度。这个要养成习惯,日常开发中,很多低级 bug 都是不校验参数导致的。比如你的数据库表字段设置为varchar(16),对方传了一个 32 位的字符串过来,如果你不校验参数,插入数据库就直接异常了。出参也是,比如你定义的接口报文,参数是不为空的,但是你的接口返回参数没有
转载
2024-01-22 13:10:37
1077阅读
前言本文记录了笔者将springboot整合lucene的过程和踩坑,是对lucene最粗浅的运用,主要实现了从数据库查询并写入索引文件,查询结果高亮显示等。引入依赖JDKLucene1.8.0_2918.11.2在pom.xml中加入以下依赖。<!--Lucene依赖-->
<!--核心包-->
<dependency>
转载
2023-12-20 15:01:36
100阅读
在我们的服务中不可避免的需要使用到一些秘钥(数据库、redis等);使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些。打开application.properties或application.yml,比如mysql登陆密码,redis登陆密码以及第三方的密钥等等一览无余,这里介绍一个加解密组件,提高一些属性配置的安全性。开发和测试环境还好,但
转载
2024-02-21 12:58:24
152阅读
一、背景说明在服务中不可避免的需要使用到一些秘钥(数据库、redis等)开发和测试环境还好,但生产如果采用明文配置将会有安全问题,jasypt是一个通用的加解密库,可以使用它。 jasypt默认使用StringEncryptor来进行加解密,也可以自定义自己的加解密类来替换它 。二、Jasypt介绍 2.1 Jasypt是什么?Jasypt是一个Java库,Java 加密包,
1、首先pom文件需要增加依赖,spring包和cache包<!-- 缓存依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
用户登录业务介绍1.1、单一服务器模式早期单一服务器,用户认证。缺点:单点性能压力,无法扩展。1.2、SSO(single sign on)模式分布式,SSO(single sign on)模式单点登录常见的方式优点 :用户身份信息独立管理,更好的分布式管理。可以自己扩展安全策略缺点:认证服务器访问压力较大。1.3、Token模式业务流程图{用户访问业务时,必须登录的流程}优点:无状态: toke
目录无参函数(掌握)有参函数(掌握)空函数(掌握)无参函数(掌握)定义函数时参数是函数体接收外部传值的一种媒介,其实就是一个变量名在函数阶段括号内没有参数,称为无参函数。需要注意的是:定义时无参,意味着调用时也无需传入参数。如果函数体代码逻辑不需要依赖外部传入的值,必须得定义成无参函数。def func():
print('hello nick')
func() # hello
# Java入参出参打印实现教程
## 1. 流程介绍
在Java中,我们经常需要打印方法的入参和出参,以便调试和排查问题。下面是实现"Java入参出参打印"的步骤:
```mermaid
erDiagram
Developer --> Newbie: 教学
Newbie --> Developer: 学习
```
## 2. 具体步骤和代码示例
### 步骤一:导入日志
原创
2024-07-03 05:07:23
121阅读
1.合理的接口命名; 接口的命名必须规范优雅,在未看到接口文档时,就可以根据接口的URL明白接口的功能是什么?2.入参和出参的规范化定义,有统一的风格; 一个项目内的所有接口,必须有统一的风格,统一返回格式,约定业务层错误编码,每个编码可以携带明确的错误信息。出入参字段含义明确,采用统一的命名规范,如驼峰命名等。返回格式统一采用json格式。举一个例子:{
"status": "failu
转载
2023-09-29 19:52:48
961阅读