将SpringBoot Actuator的JSON字符串显示为HTML。

问题描述 投票:0回答:1

我怎样才能将SpringBoot Actuator的JSON字符串显示为HTML呢?所以当我访问url localhost:8080actuatorhealth时,我看到的是这样的内容

Application status: UP
Database H2:        UP
Database MySQL:     UP
Diskspace:          UP

如果有一些错误,我也会显示出来,谢谢。

spring-boot spring-boot-actuator
1个回答
0
投票

你可以像下面这样覆盖现有的EndpointWebExtension定义。你可以根据需求写自定义逻辑。

@Component

@EndpointWebExtension(endpoint = HealthEndpoint.class)

public class CustomeEndpointWebExtension extends HealthEndpointWebExtension {

    private static final String[] NO_PATH = {};
    public HealthWebEndpointWebExtension(HealthContributorRegistry registry, HealthEndpointGroups groups) {
        super(registry, groups);

    }

//To write custom logic for /acuator/health
    @ReadOperation
    public WebEndpointResponse<HealthComponent> health(ApiVersion apiVersion, SecurityContext securityContext) {
        System.out.println("#@Start");
        WebEndpointResponse<HealthComponent> health = health(apiVersion, securityContext, false, NO_PATH);
        //Can write customer logic here as per requirment
        System.out.println("#@End"+health.getBody().getStatus());
        return health;
    }

//To write custom logic for /acuator/health/db
    @ReadOperation
    public WebEndpointResponse<HealthComponent> health(ApiVersion apiVersion, SecurityContext securityContext,
            @Selector(match = Match.ALL_REMAINING) String... path) {
        WebEndpointResponse<HealthComponent> health = health(apiVersion, securityContext, false, path);
        System.out.println("#Status"+health.getBody().getStatus());
        return health;
    }

}

你可以参考下面的堆栈来将json转换成html。如何在java中把json对象转换成HTML格式?

© www.soinside.com 2019 - 2024. All rights reserved.