我们最近在一个应用程序中将Spring版本升级到了2.1.2。当我点击这个网址:http://localhost:xxxx/health时,我注意到JSON格式发生了变化。
更改后的结构为:{ Health:{ status:"UP“}
之前是:{ status:"UP“}
我的问题是: 1.为什么要修改它? 2.是否有任何配置来保持以前的结构?
发布于 2019-04-15 19:36:22
随着Spring 2的发布,Actuator被重新设计,并添加了新的令人兴奋的端点。
/actuator/health端点用于检查正在运行的应用程序的运行状况或状态。它通常是通过监控软件来执行的,以提醒我们运行中的实例是否因其他原因而下降或变得不健康。例如,我们的数据库的连接性问题,缺少磁盘空间…
http://localhost:8080/actuator/health
{
status: "UP"
}如果您正在开发一个web应用程序,会自动配置所有启用的端点,以便通过HTTP公开。默认约定是使用前缀为/actuator的端点的id作为URL路径。例如,是以// health的形式公开的。提示: Spring、Spring和泽西岛本机支持执行器。
出于安全考虑,默认情况下,除/health和/info以外的所有执行器都被禁用。management.endpoints.web.exposure.include属性可用于启用执行器。 如果Security在类路径上,并且没有其他WebSecurityConfigurerAdapter存在,那么除了/health和/info之外,所有执行器都由Spring自动配置来保护。如果您定义了自定义WebSecurityConfigurerAdapter,Spring自动配置将退出,您将完全控制执行器访问规则。
执行器端点允许您监视应用程序并与其进行交互。Spring包含许多内置端点,并允许您添加自己的端点。例如,健康端点提供了基本的应用程序健康信息。 每个端点都可以启用或禁用。这将控制端点是否已创建,其bean是否存在于应用程序上下文中。要远程访问端点,还必须通过JMX或HTTP公开端点。大多数应用程序选择HTTP,其中端点的ID和前缀/actuator被映射到URL。例如,在默认情况下,健康端点被映射到/驱动器/.
SpringBoot2.0改进了从许多端点返回的JSON有效负载。 现在,许多端点都有更准确地反映底层数据的JSON。例如,/致动器/条件端点(SpringBoot1.5中的/autoconfig)现在有一个顶级上下文键,用于按ApplicationContext.分组结果。
要检索应用程序的健康状况,请向/驱动器/ health发出一个GET请求,如以下基于curl的示例所示:
$ curl 'http://localhost:8080/actuator/health' -i -X GET有用信息:白龙
https://stackoverflow.com/questions/55695580
复制相似问题