ОК, теперь я понимаю, если вы отключите безопасность в своем приложении и сохраните management.endpoint.health.show-details=when_authorized
, вы получаете только поле status
?Если я прав, это не проблема, взгляните в весенний класс HealthWebEndpointResponseMapper
на map
метод.Как я выяснил, этот метод перезаписывает (удаляет поле details
из ответа), если условие в if
истинно:
public WebEndpointResponse<Health> map(Health health, SecurityContext securityContext,
ShowDetails showDetails) {
if (showDetails == ShowDetails.NEVER
|| (showDetails == ShowDetails.WHEN_AUTHORIZED
&& (securityContext.getPrincipal() == null
|| !isUserInRole(securityContext)))) {
health = Health.status(health.getStatus()).build();
}
Integer status = this.statusHttpMapper.mapStatus(health.getStatus());
return new WebEndpointResponse<>(health, status);
}
В вашем случае, я полагаю, вы установили вышеупомянутое свойство вwhen_authorized
также вы отключили аутентификацию, поэтому принципал равен нулю.Не уверен, что я прав, но надеюсь, что дал вам подсказку.:)