springdoc-openapi 定义全局的默认 SecurityScheme
1、概览 {#1概览} ----------- 本文将带你了解如何在 Spring MVC Web 应用中使用 springdoc-openapi 配置默认的全局 Security Scheme,并将其应用为 API 的默认安全配置,以及如何覆盖这些默认的安全配置。 [OpenAPI 规范](https://github.com/OAI/OpenAPI-Specificat...
1、概览 {#1概览} ----------- 本文将带你了解如何在 Spring MVC Web 应用中使用 springdoc-openapi 配置默认的全局 Security Scheme,并将其应用为 API 的默认安全配置,以及如何覆盖这些默认的安全配置。 [OpenAPI 规范](https://github.com/OAI/OpenAPI-Specificat...
[Spring Boot 对静态资源提供了支持](/spring-boot/web.html#web.servlet.spring-mvc.static-content)。默认情况下,以下目录为默认的静态资源目录。其中的静态资源可以被直接访问: * `classpath:/META-INF/resources/` * `classpath:/resources/` * `cl...
1、概览 {#1概览} ----------- Spring IoC 容器创建和管理 Spring Bean,这些 Bean 是应用的核心。创建一个 Bean 实例与从普通的 Java 类创建对象相同。然而,生成多个相同类的 Bean 可能会比较麻烦一点。 本文将带你了解如何在 Spring 中使用注解创建同一个类的多个 Bean。 2、使用 Java 配置 {#2使用-...
一些使用小细节就是在不断的源码探索中逐步发现的,今天就来和大家研究一下通过 beanName 的设置,可以让一个 bean 拒绝被代理的问题! 1. 代码实践 {#1-代码实践} ----------------- 假设我有如下一个切面: ```java @Aspect @EnableAspectJAutoProxy @Component public class L...
图片上传是现代应用中非常常见的一种功能,也是风险比较高的一个地方。恶意用户可能会上传一些病毒、木马。这些东西不仅严重威胁服务器的安全还浪费了带宽,磁盘等资源。所以,**在图片上传的接口中,一定要对用户上传的文件进行严格的校验**。 本文介绍了 2 种对图片文件进行验证的方法可供你参考。 文件后缀校验 {#文件后缀校验} ---------------- 通过文件后缀(也就...
1、概览 {#1概览} ----------- 本文将会带你了解如何使用 `@ExceptionHandler` 和 `@ControllerAdvice` 全局处理 Spring Security 异常。 Controller Advice 是一种拦截器,常用于处理全局异常。 2、Spring Security 异常 {#2spring-security-异常} ---...
本文将会带你了解在 [Spring Boot](/spring-boot/) 中如何使用 [Spring Security](/spring-security/)、JWT 和 MySQL 数据库实现基于 Token 的身份认证。 JWT (JSON Web Token)概览 {#jwt-json-web-token概览} ---------------------------...
1、概览 {#1概览} ----------- Keycloak 是一个开源的身份和访问管理解决方案。在测试阶段,禁用 Keycloak 可能有助于专注于业务测试。而且在测试环境中可能没有 Keycloak 服务器。 本文将带你了解如何禁用 Keycloak starter 的配置,以及如何在项目中启用 Spring Security 后如何对其进行修改。 2、在非 Sp...
GraphQL 是啥? {#graphql-是啥} ------------------------- 根据其 [官方文档](https://graphql.org/learn/),"GraphQL 是一种用于 API 的查询语言,也是一种服务器端运行时,可使用你为数据定义的类型系统来执行查询"。该语言由 Meta 公司开发并开源,目前由众多公司和个人社区...
简介 {#简介} -------- 本文将带你了解 Spring Boot 应用中对 API 进行版本控制的重要性,以及不同的实现方式。 通过 API 版本控制,你可以对API进行更改,而不会破坏与现有客户端的兼容性。本文将介绍四种常见的版本控制方式:URI 版本控制、请求参数版本控制、自定义 Header 版本控制和内容协商(Accept Header)版本控制。 UR...