This version is still in development and is not considered stable yet. For the latest stable version, please use Spring Boot 3.5.6!

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: 2260

{
  "contexts" : {
    "application" : {
      "negativeMatches" : {
        "GsonHttpMessageConvertersConfiguration" : {
          "notMatched" : [ {
            "condition" : "OnClassCondition",
            "message" : "@ConditionalOnClass did not find required class 'com.google.gson.Gson'"
          } ],
          "matched" : [ ]
        },
        "JsonbHttpMessageConvertersConfiguration" : {
          "notMatched" : [ {
            "condition" : "OnClassCondition",
            "message" : "@ConditionalOnClass did not find required class 'jakarta.json.bind.Jsonb'"
          } ],
          "matched" : [ ]
        },
        "JacksonHttpMessageConvertersConfiguration.JacksonXmlHttpMessageConverterConfiguration" : {
          "notMatched" : [ {
            "condition" : "OnClassCondition",
            "message" : "@ConditionalOnClass did not find required class 'tools.jackson.dataformat.xml.XmlMapper'"
          } ],
          "matched" : [ ]
        }
      },
      "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.jackson.JacksonEndpointAutoConfiguration", "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.