使用 API Key 和 Secret 保护 Spring Boot API
1、概览 {#1概览} ----------- 安全在 REST API 开发中起着至关重要的作用。不安全的 REST API 可以直接访问后端系统的敏感数据。因此,企业需要关注 API 的安全性。 Spring Security 提供了各种机制来保护我们的 REST API。其中之一就是 API key。API key 是客户端在调用 API 时提供的 Token。 在...
1、概览 {#1概览} ----------- 安全在 REST API 开发中起着至关重要的作用。不安全的 REST API 可以直接访问后端系统的敏感数据。因此,企业需要关注 API 的安全性。 Spring Security 提供了各种机制来保护我们的 REST API。其中之一就是 API key。API key 是客户端在调用 API 时提供的 Token。 在...
Spring Framework 6 实现了 "Problem Details for HTTP APIs(HTTP API 的问题细节规范)"([RFC 7807](https://www.rfc-editor.org/rfc/rfc7807.html))。在本文中,我们将学习如何在 SpringBoot 3 REST API(使用 Spring Fram...
在本指南中,我将向你展示如何使用 Spring Boot 创建 Fat Jar。我们将一起构建一个简单的 "UsersMicroservice",然后将其打包到 Fat Jar 中。如果你是新手,也不用担心,我会一步一步地指导你,并回答你在使用过程中遇到的各种问题。 Fat JAR 是啥? {#fat-jar-是啥} -------------------...
1、概览 {#1概览} ----------- [Apache Pulsar](https://pulsar.apache.org/docs/3.0.x/) 是一个分布式发布/订阅消息系统。Apache Pulsar 提供的功能与 [Apache Kafka](https://kafka.apache.org/) 类似,但 Pulsar 的目标是克服 Kafka 的高延迟、低...
1、概览 {#1概览} ----------- 在本文中,我们将学习如何在 Spring Boot 3 配置可观察性(observability)。可观察性是一种仅通过外部输出来衡量系统内部状态的能力。 此外,我们必须注意 Spring Boot 2(Spring 5)和 Spring Boot 3(Spring 6)之间的重大变化。Spring 6 引入了 Spring ...
1、概览 {#1概览} ----------- [Spring Data Commons](https://docs.spring.io/spring-data/commons/docs/current/reference/html/) 是总括 [Spring Data project](https://spring.io/projects/spring-data) 的一部分...
Spring Boot 介绍 {#spring-boot-介绍} -------------------------------- [Spring Boot](http://github.com/spring-projects/spring-boot) 是 Java 世界中最流行的应用程序构建框架。Spring Boot 是一种基于约定而非配置的方法,用于构建基于 Sprin...
在本文中,你将学习如何使用 Spring WebFlux、R2DBC 和 Postgres 数据库实现和测试响应式(Reactive) Spring Boot 应用程序。我们将使用最新版本的 Spring Boot 3 创建两个用 Kotlin 编写的简单应用程序。我们的应用程序通过 HTTP 公开一些 REST 端点。为了测试它们之间的通信以及与 Postgres 数据库的集...
1、概览 {#1概览} ----------- Spring Data Repository 提供了大量可简化数据访问逻辑实现的方法。然而,选择合适的方法并不总是像我们想象的那么容易。 以 `findBy` 和 `findOneBy` 为前缀的方法就是一个例子。尽管从名称上看,它们似乎做着同样的事情,但其实还是有一些区别的。 2、Spring Data 中的派生查询方法 ...
![spring boot & Loki](/upload/2023/08/28/vtHW25Z58j.webp) 在本文中,你将学习如何收集 Spring Boot 应用程序日志并将其发送到 [Grafana Loki](https://grafana.com/oss/loki/)。为此,我们将使用 [Loki4j](https://loki4j.github.io...