Пользовательская информация в Spring Boot Info Endpoint
1. обзор
В этой быстрой статье мы рассмотрим, как настроить конечную точку/info Spring Boot Actuators.
Пожалуйста,refer to this article, чтобы узнать больше о приводах в загрузке и о том, как их настроить.
2. Статические свойства в / info
Если у нас есть некоторая статическая информация, такая как название приложения или его версия, которая не меняется в течение долгого времени, то рекомендуется добавить эти данные в наш файлapplication.properties:
## Configuring info endpoint
info.app.name=Spring Sample Application
info.app.description=This is my first spring boot application
info.app.version=1.0.0
Это все, что нам нужно сделать, чтобы сделать эти данные доступными на конечной точке/info. Spring автоматически добавит все свойства с префиксомinfo в конечную точку/info:
{
"app": {
"description": "This is my first spring boot application",
"version": "1.0.0",
"name": "Spring Sample Application"
}
}
3. Переменные среды в / info
Теперь давайте представим переменнуюEnvironment в нашей конечной точке/info:
info.java-vendor = ${java.specification.vendor}
Это предоставит поставщику Java доступ к нашей конечной точке/info:
{
"app": {
"description": "This is my first spring boot application",
"version": "1.0.0",
"name": "Spring Sample Application"
},
"java-vendor": "Oracle Corporation",
}
Обратите внимание, что все переменные среды уже доступны на конечной точке/env. Однако то же самое можно быстро обнаружить и на конечной точке/info.
4. Пользовательские данные из уровня сохраняемости
Теперь давайте сделаем еще один шаг и представим некоторые полезные данные из хранилища постоянных данных.
Для этого нам нужно реализовать интерфейсInfoContributor и переопределить методcontribute():
@Component
public class TotalUsersInfoContributor implements InfoContributor {
@Autowired
UserRepository userRepository;
@Override
public void contribute(Info.Builder builder) {
Map userDetails = new HashMap<>();
userDetails.put("active", userRepository.countByStatus(1));
userDetails.put("inactive", userRepository.countByStatus(0));
builder.withDetail("users", userDetails);
}
}
Во-первых, нам нужно пометить реализующий класс как@Component. Затем добавьте необходимые сведения в экземплярInfo.Builder, предоставленный методуcontribute().
Этот подход дает нам большую гибкость в отношении того, что мы можем предоставить нашей конечной точке/info:
{
...other /info data...,
...
"users": {
"inactive": 2,
"active": 3
}
}
5. Заключение
В этом руководстве мы рассмотрели различные способы добавления пользовательских данных в нашу конечную точку/info.
Обратите внимание, что мы также обсуждаем, как добавитьgit information в конечную точку/info.
Как всегда, полный исходный код этой статьи можно найтиover on GitHub.