51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Java笔记

springdoc-openapi 定义全局的默认 SecurityScheme

springdoc-openapi 定义全局的默认 SecurityScheme

厉飞雨 阅读(21) 评论(0) 赞(2)

1、概览 {#1概览} ----------- 本文将带你了解如何在 Spring MVC Web 应用中使用 springdoc-openapi 配置默认的全局 Security Scheme,并将其应用为 API 的默认安全配置,以及如何覆盖这些默认的安全配置。 [OpenAPI 规范](https://github.com/OAI/OpenAPI-Specificat...

Spring Boot 中的静态资源配置

Spring Boot 中的静态资源配置

厉飞雨 阅读(12) 评论(0) 赞(3)

[Spring Boot 对静态资源提供了支持](/spring-boot/web.html#web.servlet.spring-mvc.static-content)。默认情况下,以下目录为默认的静态资源目录。其中的静态资源可以被直接访问: * `classpath:/META-INF/resources/` * `classpath:/resources/` * `cl...

使用 Spring 注解实例化同一个类的多个 Bean

使用 Spring 注解实例化同一个类的多个 Bean

厉飞雨 阅读(14) 评论(0) 赞(1)

1、概览 {#1概览} ----------- Spring IoC 容器创建和管理 Spring Bean,这些 Bean 是应用的核心。创建一个 Bean 实例与从普通的 Java 类创建对象相同。然而,生成多个相同类的 Bean 可能会比较麻烦一点。 本文将带你了解如何在 Spring 中使用注解创建同一个类的多个 Bean。 2、使用 Java 配置 {#2使用-...

Spring 的 beanName 设置可能会导致代理失败

Spring 的 beanName 设置可能会导致代理失败

厉飞雨 阅读(10) 评论(0) 赞(3)

一些使用小细节就是在不断的源码探索中逐步发现的,今天就来和大家研究一下通过 beanName 的设置,可以让一个 bean 拒绝被代理的问题! 1. 代码实践 {#1-代码实践} ----------------- 假设我有如下一个切面: ```java @Aspect @EnableAspectJAutoProxy @Component public class L...

在 Spring Boot 中校验用户上传的图片文件

在 Spring Boot 中校验用户上传的图片文件

厉飞雨 阅读(19) 评论(0) 赞(6)

图片上传是现代应用中非常常见的一种功能,也是风险比较高的一个地方。恶意用户可能会上传一些病毒、木马。这些东西不仅严重威胁服务器的安全还浪费了带宽,磁盘等资源。所以,**在图片上传的接口中,一定要对用户上传的文件进行严格的校验**。 本文介绍了 2 种对图片文件进行验证的方法可供你参考。 文件后缀校验 {#文件后缀校验} ---------------- 通过文件后缀(也就...

使用 @ExceptionHandler 处理 Spring Security 异常

使用 @ExceptionHandler 处理 Spring Security 异常

厉飞雨 阅读(16) 评论(0) 赞(1)

1、概览 {#1概览} ----------- 本文将会带你了解如何使用 `@ExceptionHandler` 和 `@ControllerAdvice` 全局处理 Spring Security 异常。 Controller Advice 是一种拦截器,常用于处理全局异常。 2、Spring Security 异常 {#2spring-security-异常} ---...

在 Spring Boot 中禁用 Keycloak Security

在 Spring Boot 中禁用 Keycloak Security

厉飞雨 阅读(11) 评论(0) 赞(3)

1、概览 {#1概览} ----------- Keycloak 是一个开源的身份和访问管理解决方案。在测试阶段,禁用 Keycloak 可能有助于专注于业务测试。而且在测试环境中可能没有 Keycloak 服务器。 本文将带你了解如何禁用 Keycloak starter 的配置,以及如何在项目中启用 Spring Security 后如何对其进行修改。 2、在非 Sp...

使用 Spring Boot 创建 GraphQL API

使用 Spring Boot 创建 GraphQL API

厉飞雨 阅读(9) 评论(0) 赞(2)

GraphQL 是啥? {#graphql-是啥} ------------------------- 根据其 [官方文档](https://graphql.org/learn/),"GraphQL 是一种用于 API 的查询语言,也是一种服务器端运行时,可使用你为数据定义的类型系统来执行查询"。该语言由 Meta 公司开发并开源,目前由众多公司和个人社区...

Spring Boot API 的版本控制

Spring Boot API 的版本控制

厉飞雨 阅读(18) 评论(0) 赞(3)

简介 {#简介} -------- 本文将带你了解 Spring Boot 应用中对 API 进行版本控制的重要性,以及不同的实现方式。 通过 API 版本控制,你可以对API进行更改,而不会破坏与现有客户端的兼容性。本文将介绍四种常见的版本控制方式:URI 版本控制、请求参数版本控制、自定义 Header 版本控制和内容协商(Accept Header)版本控制。 UR...