2015-10-06 55 views
6

我寫一個類實現HealthIndicator,覆蓋醫療方法。我回到Health.down().withDetail("SupportServiceStatus", "UP").build();彈簧引導健康沒有顯示細節(withDetail資訊)

這應該使我health -endpoint回報:

{ 
    "status":"UP", 
    "applicationHealth": { 
     "status":"UP" 
    } 
} 

相反,它只是返回(健康,無詳細信息):

{ 
    "status":"UP", 
} 

Javacode(有些簡化):

@Component 
public class ApplicationHealth implements HealthIndicator { 

    @Override 
    public Health health() { 
    return check(); 
    } 

    private Health check() { 
    return Health.up().withDetail("SupportServiceStatus", supportServiceStatusCode).build(); 
    } 

} 

回答

9

根據春季啓動文檔:

。 。 。默認情況下,只有健康狀態通過未經身份驗證的HTTP連接公開。如果您對完整的健康信息感到滿意,您可以將endpoints.health.sensitive設置爲false

解決辦法是設置endpoints.health.sensitivefalseapplication.properties

application.properties

endpoints.health.sensitive=false 

對於> 1.5.1 application.properties

management.security.enabled=false 
+0

沒有彈簧啓動的新版本 – cahen

+0

更新的答案。需要管理標誌在1.4.2-RELEASE – olahell

+0

對於> 1.4.1我覺得工作1.5.1 – Jontia

5

設置 'endpoints.health.sensitive' 沒有什麼區別......不得不設置:

management: 
    security: 
     enabled: false 
+1

我想,這不僅是因爲1.4.1.RELEASE和1.5之間的某個時候需要.1.RELEASE(我剛升級並且必須這樣做) – James

1

在Spring Boot 2.0.0.RELEASE:

management: 
    endpoint: 
     health: 
     show-details: "ALWAYS"