Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Rest模板检查端点的运行状况_Java_Spring_Http - Fatal编程技术网

Java 如何使用Rest模板检查端点的运行状况

Java 如何使用Rest模板检查端点的运行状况,java,spring,http,Java,Spring,Http,我试图在Java和Spring中创建一个服务,测试各种端点的运行状况,这些端点执行各种操作,如删除帐户、获取帐户数据、创建帐户等。我的初始方法是使用restemplate执行请求并检查返回代码是否为200。问题是,在测试诸如delete account之类的东西时,我需要有一个虚拟帐户来删除,而对于相互依赖的帐户来说,这会变得更加复杂。我的问题是如何ping端点的运行状况,例如: https://foobar.com/deleteBar 没有实际执行删除或端点的功能?Spring Actuat

我试图在Java和Spring中创建一个服务,测试各种端点的运行状况,这些端点执行各种操作,如删除帐户、获取帐户数据、创建帐户等。我的初始方法是使用
restemplate
执行请求并检查返回代码是否为200。问题是,在测试诸如delete account之类的东西时,我需要有一个虚拟帐户来删除,而对于相互依赖的帐户来说,这会变得更加复杂。我的问题是如何ping端点的运行状况,例如:

https://foobar.com/deleteBar
没有实际执行删除或端点的功能?

Spring Actuator带来了您需要的所有东西-在这种特殊情况下,一个healthcheck端点(/Actuator/health/)。 若应用程序安全运行,此端点上的Http GET请求将返回JSON消息,其中包含类似于
{“status”:“UP”}
的文本。 要将此端点添加到应用程序中,只需将以下依赖项添加到项目中(在本例中为Maven):


org.springframework.boot
弹簧靴起动器执行器

您不应该检查单个端点,而应该检查整个应用程序的运行状况。应用程序应该为您提供healthcheck endpointIm,它在一个生态系统中工作,其中每个端点都是一个单独的运行应用程序。然后,每个应用程序都应该有一个healthcheck端点。如果它们是spring boot应用程序,那么它们附带内置的健康检查端点
/exactor/health
。我无法控制API,我只是简单地创建了requestHmm。如果您使用的API是以良好的方式构造的,那么遵循HTTP返回代码将是一个好主意。在示例中,返回代码500通知您API工作流有问题,而2xx代码则通知您一切正常。此外,即使是像4xx这样的“坏”代码也会让您知道,该API仍在工作。500代码是否意味着它已启动并且请求导致了错误?除了404之外,是否有任何错误代码表示端点仍然处于活动状态?500表示内部服务器错误,因此可能的问题在服务器(API)端。只有当服务器在处理此请求时出现一些内部问题(这意味着它可能是以一种糟糕的方式构造的),您的请求才可能导致此问题。所有非5xx代码(如4xx、2xx等)表示服务器已启动且运行良好,特别是4xx代码表示您这边出现了一些问题(例如,请求不正确,或您未经授权),但服务器仍然非常健康。请参阅所有Http代码:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>