首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我们如何在Spring docs Open API的执行器端点(如/health )中添加默认响应代码?

在Spring docs Open API的执行器端点中添加默认响应代码可以通过以下步骤实现:

  1. 创建一个自定义的HealthEndpoint类,继承自Spring Boot的HealthEndpoint类,并重写getHealth方法。
代码语言:txt
复制
import org.springframework.boot.actuate.health.Health;
import org.springframework.boot.actuate.health.HealthIndicator;
import org.springframework.boot.actuate.health.Status;
import org.springframework.boot.actuate.health.StatusAggregator;
import org.springframework.boot.actuate.health.StatusContributor;
import org.springframework.boot.actuate.health.StatusEndpoint;
import org.springframework.boot.actuate.health.StatusEndpointWebExtension;
import org.springframework.stereotype.Component;

@Component
public class CustomHealthEndpoint extends HealthEndpoint {

    public CustomHealthEndpoint(HealthIndicator healthIndicator, StatusAggregator statusAggregator) {
        super(healthIndicator, statusAggregator);
    }

    @Override
    public Health getHealth(boolean includeDetails) {
        Health health = super.getHealth(includeDetails);
        Status status = health.getStatus();
        if (status.equals(Status.UNKNOWN)) {
            // 添加默认响应代码
            health = Health.status(Status.UP).build();
        }
        return health;
    }
}
  1. 在Spring Boot的配置类中,将自定义的CustomHealthEndpoint类注入为一个Bean。
代码语言:txt
复制
import org.springframework.boot.actuate.health.StatusAggregator;
import org.springframework.boot.actuate.health.StatusEndpoint;
import org.springframework.boot.actuate.health.StatusEndpointWebExtension;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class AppConfig {

    @Bean
    public CustomHealthEndpoint customHealthEndpoint(HealthIndicator healthIndicator, StatusAggregator statusAggregator) {
        return new CustomHealthEndpoint(healthIndicator, statusAggregator);
    }
}
  1. application.propertiesapplication.yml配置文件中,启用执行器端点。
代码语言:txt
复制
management.endpoints.web.exposure.include=health

现在,当访问执行器端点/health时,如果原始响应的状态为UNKNOWN,将会返回一个默认的健康状态为UP的响应。

注意:以上代码示例中,CustomHealthEndpoint类继承自HealthEndpoint类,这是Spring Boot 2.x版本的实现方式。如果你使用的是Spring Boot 1.x版本,可以继承自AbstractHealthIndicator类,并实现doHealthCheck方法来达到相同的效果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring Boot 从入门到实践系列教程(5)- SpringBoot执行器

我们将首先介绍基础知识,然后详细讨论Spring Boot 1.x与2.x可用内容。 我们将学习如何在Spring Boot 1.x中使用,配置和扩展此监视工具。...入门 要启用Spring Boot Actuator,我们只需要将spring-boot-actuator依赖项添加我们包管理器。...最后,在各种变化,重要是要记住其中一些变化正在破碎。这包括HTTP请求/响应以及Java API。 此外,最新版本现在支持CRUD模型,而不是旧RW(读/写)模型。 4.1。...健康指标 与以前版本一样,我们可以轻松添加自定义指标。与其他API相反,创建自定义健康端点抽象保持不变。...在之前日志我们可以看到WebFlux如何公开我们端点我们是否会切换到MVC,它只需委托该技术而无需更改任何代码

1.2K20

Spring Boot 实战开发》 附录 II : Spring Boot 2.0 新特性《Spring Boot 实战开发》 附录 II : Spring Boot 2.0 新特性Kotlin

可以像清单这样极简地表达端点路由: 代码清单 Kotlin 用于定义端点路由 DSL @Bean fun apiRouter() = router { (accept(APPLICATION_JSON...Auto-configuration report 不满足条件类(Unconditional)现在包含在自动配置执行器端点(Actuator endpoint)响应。...Build 执行器Actuator代码分为两个模块:现有的spring-boot-actuator和新spring-boot-actuator-autoconfigure。...Health vs. Status 状态status端点被移除,取而代之是一个独特健康端点,可以显示状态或全部细节。health端点现在是默认暴露(只显示状态)。...; 同时这个文档中有新 Actuator API 介绍:https://docs.spring.io/spring-boot/docs/2.0.0.M7/actuator-api/html/ 。

3.1K30

聊聊Spring Boot Actuator

自2014年4月起,Spring Boot Actuator随Spring Boot一起发布。 随着SpringBoot2发布,执行器进行了重新设计,并添加了新激动人心端点。...最后,在各种更改,请务必记住其中一些正在停用。这包括HTTP请求/响应以及Java API。 此外,与旧RW(读/写)模型相反,最新版本现在支持CRUD模型。...此外,可以通过实现正确适配器来添加即将出现技术。 最后,仍然支持JMX公开端点,而无需任何其他代码。 重要变化 与以前版本不同,Actuator禁用了大多数端点。...与其他API相反,用于创建自定义健康状况端点抽象保持不变。但是,添加了新接口ReactiveHealthIndicator来实现反应式健康检查。...在前面的日志我们可以看到WebFlux是如何公开我们端点。如果我们切换到MVC,它只需委托该技术,而不必更改任何代码

1.1K61

Spring Boot从零入门2_核心模块详述和开发环境搭建

Spring Boot Starter组件将所有相关jar组合到单个jar文件,因此我们只需要将jar文件依赖项添加我们构建文件。...无需将上述这么多个jar文件添加我们构建文件我们Spring boot利用Spring Boot Starter特性,需要添加一个并且仅添加一个jar文件:spring-boot-starter-web...当我们spring-boot-starter-web jar文件依赖项添加我们构建文件时,Spring Boot Framework将自动下载所有必需jar并添加我们项目类路径,如下图所示...Spring Boot Actuator提供了执行器端点所需基础架构。它包含对执行器端点注释支持。开箱即用。.../docs/current/api/allclasses-noframe.html https://docs.spring.io/spring-boot/docs/current/api/org/springframework

1.1K20

Spring Boot2.0迁移概括

配置位置 spring.config.location配置方式已被修复; 它提前将一个位置添加默认位置列表,现在它将替换默认位置。...Spring MVC 路径匹配默认行为更改 我们已决定在 Spring MVC 应用程序更改后缀路径匹配默认值(请参阅#11105)。...为了与这些新默认值一致,health已被添加到第一个匹配器。 使用 SQL 数据库 配置数据源 默认连接池已从 Tomcat 切换到 HikariCP。...默认: 无论您应用程序是否存在和配置 Spring Security,只有端点/health和/info端点都是暴露。 所有端点,但/shutdown已启用。...Actuator API 文档相关部分提供了一个示例文档。 /actuator/httptrace 端点大改变 响应结构已经过改进,以反映端点关注跟踪 HTTP 请求 – 响应交换情况。

2.4K20

Spring Boot Actuator详解与深入应用(二):Actuator 2.x

首先,这个版本变得与特定框架解耦;此外,它通过将其与应用程序合并来简化其安全模型;最后,在各种变化,有些变化是巨大,这包括HTTP请求/响应以及提供Java API。...: 1management.endpoints.web.exposure.exclude=env,beans 默认端点 下面我们看一下可用端点,他们大部分在1.x已经存在。...如果应用程序存在Spring Security,则默认情况下使用基于表单HTTP基本身份验证来保护端点。使用Spring Security保护Actuator端点访问。...如上日志展示了Webflux如何暴露我们端点,至于切换到Spring MVC,我们只需要引入依赖即可,并不需要更改任何代码。...Actuator 2.x不依赖于某个框架组件(Spring MVC),做到了易于插拔和扩展。当我们想要切换到Webflux时,通过Actuator 2.x适配器,不需要更改任何代码即可实现。

2.1K20

Spring Boot 1.0 到Spring Boot 2.0 迁移指南

配置位置 spring.config.location配置方式已被修复; 它提前将一个位置添加默认位置列表,现在它将替换默认位置。...Spring MVC 路径匹配默认行为更改 我们已决定在 Spring MVC 应用程序更改后缀路径匹配默认值(请参阅#11105)。...需要注意是在2.x,health和info在默认情况下启用(与health默认情况下不显示其细节)。为了与这些新默认值一致,health已被添加到第一个匹配器。...默认: 无论您应用程序是否存在和配置 Spring Security,只有端点/health和/info端点都是暴露。 所有端点,但/shutdown已启用。...Actuator API 文档相关部分提供了一个示例文档。 /actuator/httptrace 端点大改变 响应结构已经过改进,以反映端点关注跟踪 HTTP 请求 - 响应交换情况。

2.3K42

Spring Boot 2.0 迁移指南

配置位置 spring.config.location配置行为已被修复; 它先前将一个位置添加默认位置列表,现在它将替换默认位置。...Spring MVC 路径匹配默认行为更改 我们已决定在 Spring MVC 应用程序更改后缀路径匹配默认值(请参阅#11105)。...需要注意是在2.x,health和info在默认情况下启用(与health默认情况下不显示其细节)。为了与这些新默认值一致,health已被添加到第一个匹配器。...默认: 无论您应用程序是否存在和配置 Spring Security,只有端点/health和/info端点都是暴露。 所有端点,但/shutdown已启用。...Actuator API 文档相关部分提供了一个示例文档。 /actuator/httptrace 端点大改变 响应结构已经过改进,以反映端点关注跟踪 HTTP 请求 - 响应交换情况。

2K20

Spring Boot Actuator 模块和内置监控端点

2.知识 Actuator 模块 Spring Boot 提供了 Actuator 模块。Actuator 翻译过来就是执行器。它是一个制造术语,指的是用于移动或控制某物机械装置。...health 显示应用程序运行状况信息。 httptrace 显示 HTTP 跟踪信息(默认情况下,最后 100 个 HTTP 请求-响应交换)。需要一个HttpTraceRepository豆子。...sessions 允许从 Spring Session 支持会话存储检索和删除用户会话。需要使用 Spring Session 基于 Servlet Web 应用程序。... 3.2 启用端点 添加了依赖后默认是启动一些内置节点,你有可以控制这些端点开启 要配置端点启用, 可使用...详细介绍文档 https://docs.spring.io/spring-boot/docs/current/actuator-api/htmlsingle/ 5.参考: https://docs.spring.io

2K20

微服务开发:断路器详解

他们是: CLOSED OPEN HALF OPEN我们简要了解一下状态…… CLOSED State 当正在交互两个服务都启动并运行时,断路器默认关闭。...circuitbreakers: enabled: true ❝我们需要在执行器暴漏断路器详细信息(暴漏端点)。...然后我们必须提供一个 fallbackMethod。这样做目的是当下游服务(速率服务)无法响应默认调用它。...现在转到贷款服务,输入监控端点 URL:「http://localhost:8000/actuator/health」。断路器详细信息会在响应突出显示。...在每一步我们都必须查看监控端点,并通过更改其状态查看断路器行为方式。开始! 启动两个微服务。贷款服务在 8000 上运行,利率服务在 9000 上运行。

16520

SpringBoot掌握差不多了,就剩下一个Actuator没搞定了,本文详细来介绍!!!

官网地址:https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html ​ Spring Boot includes... 2.端点(Endpoints)   执行器端点(endpoints)可用于监控应用及与应用进行交互,Spring Boot包含很多内置端点,你也可以添加自己...要远程访问端点,还必须通过JMX或HTTP进行暴露,大部分应用选择HTTP,端点ID映射到一个带/actuator前缀URL。例如,health端点默认映射到/actuator/health。...端点默认这些统计指标外,我们还可以实现自定义统计指标,metrics提供了4基本度量类型: gauge 计量器,最简单度量类型,只有一个简单返回值,他用来记录一些对象或者事物瞬时值。.../prometheus --config.file=prometheus.yml 访问应用: http://ip:9090 然后在我们SpringBoot服务添加 Prometheus端点,先添加必要依赖

1.2K20

SpringBoot - 构建监控体系01_使用 Actuator 组件实现及扩展系统监控

---- 这种结果就是 HATEOAS 风格 HTTP 响应。如果我们想看到默认情况下看不到所有端点,则需要在配置文件添加如下所示配置信息。...根据 Spring Boot Actuator 默认提供端点列表,我们将部分常见端点类型、路径和描述梳理在如下表格,仅供参考。 ?...---- 如何在现有的监控端点添加定制化功能 如果 Spring Boot Actuator 默认提供端点信息不能满足业务需求,我们可以对其进行修改和扩展。...扩展 Actuator 端点 Spring Boot 默认暴露了日常开发中最常见两个端点:Info 端点Health 端点。接下来,我们讨论下如何对这两个端点进行扩展。...该 Health 结果应该包括一个状态,并且可以根据需要添加任何细节信息。 以上代码我们使用了一种简单且直接方式判断配置中心服务“customerservice”是否正在运行。

1.2K20

如何将 Spring Boot Actuator 指标信息输出到 InfluxDB 和 Prometheus

SpringBoot应用程序后,您可能会感到惊讶,它默认只显示两个HTTP端点/执行器/信息和/执行器/运行状况。...这就是为什么在最新版本 SpringBoot,出于安全目的,默认情况下禁用除 /health和 /info之外所有执行器。...您可能还记得,我已经向您展示了如何在 InfluxDBDocker容器运行涌入客户端。经过几分钟工作后,测试单元应多次调用暴露端点。...由于这些标签,我们可以轻松地为每个信号端点分组指标,包括失败和成功百分比。我们来看看如何在 Grafana配置和查看它。...因此,我们需要启用公开 Prometheus指标的执行器端点默认情况下禁用该指标。

4.8K30

SpringBoot:模块探究之spring-boot-actuator

源码地址 3、启用 spring-boot-actuator 模块 二、spring-boot-actuator 初体验 1、项目中添加 Maven 依赖 2、启动项目访问 Api 3、添加 actuator...初体验 1、项目中添加 Maven 依赖 # 在 pom 文件添加以下内容 <!...3、添加 actuator 配置 actuator health 端点默认开启,下面我们将尝试关闭所有默认配置,并启用和使用 shutdown 端点默认不启用),优雅关闭程序 # Yaml...配置文件添加以下内容 #启用端点 management: #全局配置 endpoints: #关闭默认配置(即全部内容需重新配置) enabled-by-default: false...请求跟踪信息(时间戳、HTTP头等) ---- 三、health 端点我们开启 health 健康端点时,我们能够查到应用健康信息是一个汇总信息,访问 /health 时,我们获取到信息是

77210

SpringBootStarter技术:生产就绪与环境配置、实现自定义Starter

在传统Spring应用系统我们需要完成众多烦琐配置和多个jar包手动引入及代码初始化工作,才能将所需要模块引入工程。...我们只需要在Maven引入对应现成Starter依赖,在代码添加必要注解,就可以获得开箱即用对应功能。...Endpoint Endpoint是执行器端点,可用于监控应用及与应用进行交互,Spring Boot包含很多内置端点,你也可以自己添加。例如,health端点提供了应用基本健康信息。...默认约定使用端点ID作为URL路径,例如,health暴露为/health。...你需要实现其中health方法,并返回自定义健康状态响应信息,该响应信息应该包括一个状态码和要展示详细信息。

91210

如何实现一个对Springboot项目的监控程序

为了格式化响应以使其可读,您可以将执行器端点输出通过管道传输到mjson. $ curl http://localhost:8080/actuator | python -mjson.tool ......您唯一需要做就是在运行时类路径添加依赖项micrometer-registry-{system},而这正是我们prometheus在创建 Spring Boot 应用程序时添加依赖项所做。...将指标添加到文件时,也可以访问指标执行器端点application.properties。...Prometheus 文档安装部分所述,有多种安装 Prometheus 方法。在本节,您将在 Docker 容器运行 Prometheus。...默认用户名/密码是 admin/admin。单击登录按钮后,您需要更改默认密码。谷歌浏览器还会警告您有关默认用户名/密码信息。 接下来要做添加一个数据源。

29120

SpringBoot系列之actuator监控管理极速入门与实践

要将执行器添加到基于Maven项目中,请检查添加以下“ Starter”依赖项: org.springframework.boot...> 项目启动成功后,如果没设置context-path,项目会自动加入/actuator作为前缀,大部分端点默认启动,不过要通过web浏览器方式访问只有health、info端点 可以通过配置修改默认前缀...是 health 显示应用程序健康信息 是 httptrace 显示 HTTP 追踪信息(默认情况下,最后 100 个 HTTP 请求/响应交换)。 是 info 显示应用程序信息。...是 sessions 允许从 Spring Session 支持会话存储检索和删除用户会话。当使用 Spring Session 响应式 Web 应用程序支持时不可用。...Web 应用程序(Spring MVC、Spring WebFlux 或 Jersey),则可以使用以下附加端点,这个应该是2.x版本才加上 ID 描述 默认启用 heapdump 返回一个 hprof

1.6K30
领券