Kucera.Jan.CZ
Kucera.Jan.CZ

Reputation: 776

Spring Boot Actuator Endpoint Override

I have been prototyping with Spring boot where I added dependency on spring-boot-starter-actuator and spring-boot-starter-data-rest and named my testing REST endpoint to /info. Application ran without any errors however my endpoint couldn't be called and app returned 404 all the time.

After some time I found out that actuator project contains SAME endpoint /info and basically overrides my custom RESTful endpoint since I didn't name it.

My question is: Is there any way how I can prevent such behavior in general (meaning bean clashing by mistake)? Or at least get WARN message when this is happening.

Thanks in advance for your answers

Upvotes: 4

Views: 4153

Answers (2)

buræquete
buræquete

Reputation: 14678

You can disable /info actuator endpoint by using the following property;

management.endpoint.info.enabled=false

Actually all can be disabled, or you can enable only certain ones, if you check the source link I've provided below;

By default, all endpoints except for shutdown are enabled. If you prefer to specifically “opt-in” endpoint enablement you can use the endpoints.enabled property.

source

For logging of this behaviour, while deploying you can see the endpoints and corresponding beans, you can deduce from this log I guess. But better not to use same endpoint with actuator while they are enabled.

Upvotes: 5

Malakai
Malakai

Reputation: 3131

Yes, there is a chance to disable particular classes by @EnableAutoconfiguration with a parameter exclude= where you can specify classname or whole package by using {} brackets

Example:

  • @EnableAutoConfiguration(exclude = {MyClassName.class}

  • @EnableAutoConfiguration(exclude = {MyClassName.class, MyClassName2.class})

Upvotes: 2

Related Questions