He estado creando prototipos con Spring Boot, donde agregué la dependencia de spring-boot-starter-actuator y spring-boot-starter-data-rest y llamé a mi punto final REST de prueba a /info . La aplicación se ejecutó sin errores, sin embargo, no se pudo llamar a mi terminal y la aplicación devolvió 404 todo el tiempo.
Después de un tiempo, descubrí que el proyecto del actuador contiene el MISMO punto final /info y básicamente anula mi punto final RESTful personalizado ya que no lo nombré.
Mi pregunta es: ¿hay alguna forma de evitar ese comportamiento en general (es decir, el choque de frijoles por error)? O al menos obtener un mensaje de ADVERTENCIA cuando esto suceda.
Gracias de antemano por sus respuestas
Puede deshabilitar el punto final del actuador /info usando la siguiente propiedad;
management.endpoint.info.enabled=falseEn realidad, todos se pueden deshabilitar, o puede habilitar solo algunos, si verifica el enlace de origen que proporcioné a continuación;
De forma predeterminada, todos los puntos finales, excepto el apagado, están habilitados. Si prefiere "suscribirse" específicamente a la habilitación de puntos finales, puede usar la propiedad endpoints.enabled.
Para el registro de este comportamiento, durante la implementación puede ver los puntos finales y los beans correspondientes, puede deducir de este registro, supongo. Pero es mejor no usar el mismo punto final con el actuador mientras están habilitados.
Sí, existe la posibilidad de deshabilitar clases particulares mediante @EnableAutoconfiguration con un parámetro exclude= donde puede especificar el nombre de la clase o el paquete completo usando {} corchetes
Ejemplo:
@EnableAutoConfiguration(exclude = {MyClassName.class}
@EnableAutoConfiguration(exclude = {MyClassName.class, MyClassName2.class})