Conditions Evaluation Report (conditions)

The conditions endpoint provides information about the evaluation of conditions on configuration and auto-configuration classes.

Retrieving the Report

To retrieve the report, make a GET request to /actuator/conditions, as shown in the following curl-based example:

$ curl 'http://localhost:8080/actuator/conditions' -i -X GET

The resulting response is similar to the following:

HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 3227

{
  "contexts" : {
    "application" : {
      "negativeMatches" : {
        "GsonHttpMessageConvertersConfiguration" : {
          "notMatched" : [ {
            "condition" : "OnClassCondition",
            "message" : "@ConditionalOnClass did not find required class 'com.google.gson.Gson'"
          } ],
          "matched" : [ ]
        },
        "Jackson2HttpMessageConvertersConfiguration.MappingJackson2XmlHttpMessageConverterConfiguration" : {
          "notMatched" : [ {
            "condition" : "OnClassCondition",
            "message" : "@ConditionalOnClass did not find required class 'tools.jackson.dataformat.xml.XmlMapper'"
          } ],
          "matched" : [ ]
        },
        "Jackson2HttpMessageConvertersConfiguration.MappingJackson2HttpMessageConverterConfiguration" : {
          "notMatched" : [ {
            "condition" : "Jackson2HttpMessageConvertersConfiguration.PreferJackson2OrJacksonUnavailableCondition",
            "message" : "AnyNestedCondition 0 matched 2 did not; NestedCondition on Jackson2HttpMessageConvertersConfiguration.PreferJackson2OrJacksonUnavailableCondition.JacksonUnavailable @ConditionalOnMissingBean (types: org.springframework.boot.http.converter.autoconfigure.JacksonHttpMessageConvertersConfiguration$JacksonJsonHttpMessageConvertersCustomizer; SearchStrategy: all) found beans of type 'org.springframework.boot.http.converter.autoconfigure.JacksonHttpMessageConvertersConfiguration$JacksonJsonHttpMessageConvertersCustomizer' jacksonJsonHttpMessageConvertersCustomizer; NestedCondition on Jackson2HttpMessageConvertersConfiguration.PreferJackson2OrJacksonUnavailableCondition.Jackson2Preferred @ConditionalOnProperty (spring.http.converters.preferred-json-mapper=jackson2) did not find property 'spring.http.converters.preferred-json-mapper'"
          } ],
          "matched" : [ {
            "condition" : "OnClassCondition",
            "message" : "@ConditionalOnClass found required class 'com.fasterxml.jackson.databind.ObjectMapper'"
          } ]
        }
      },
      "positiveMatches" : {
        "EndpointAutoConfiguration#propertiesEndpointAccessResolver" : [ {
          "condition" : "OnBeanCondition",
          "message" : "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.EndpointAccessResolver; SearchStrategy: all) did not find any beans"
        } ],
        "EndpointAutoConfiguration#endpointOperationParameterMapper" : [ {
          "condition" : "OnBeanCondition",
          "message" : "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.invoke.ParameterValueMapper; SearchStrategy: all) did not find any beans"
        } ],
        "EndpointAutoConfiguration#endpointCachingOperationInvokerAdvisor" : [ {
          "condition" : "OnBeanCondition",
          "message" : "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor; SearchStrategy: all) did not find any beans"
        } ]
      },
      "unconditionalClasses" : [ "org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration", "org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration" ]
    }
  }
}

Response Structure

The response contains details of the application’s condition evaluation. The following table describes the structure of the response:

Path Type Description

contexts

Object

Application contexts keyed by id.

contexts.*.positiveMatches

Object

Classes and methods with conditions that were matched.

contexts.*.positiveMatches.*.[].condition

String

Name of the condition.

contexts.*.positiveMatches.*.[].message

String

Details of why the condition was matched.

contexts.*.negativeMatches

Object

Classes and methods with conditions that were not matched.

contexts.*.negativeMatches.*.notMatched

Array

Conditions that were matched.

contexts.*.negativeMatches.*.notMatched.[].condition

String

Name of the condition.

contexts.*.negativeMatches.*.notMatched.[].message

String

Details of why the condition was not matched.

contexts.*.negativeMatches.*.matched

Array

Conditions that were matched.

contexts.*.negativeMatches.*.matched.[].condition

String

Name of the condition.

contexts.*.negativeMatches.*.matched.[].message

String

Details of why the condition was matched.

contexts.*.unconditionalClasses

Array

Names of unconditional auto-configuration classes if any.

contexts.*.parentId

String

Id of the parent application context, if any.