Starter

API

Starter-backed API stack for Helix Spring Boot services, including filters, listeners, actuator endpoints, and shared web behavior.

Artifact
helix-api-spring-boot-starter

Usage

build.gradle

Groovy DSL

dependencies {
    implementation helix.api.springboot.starter
}

build.gradle.kts

Kotlin DSL

dependencies {
    implementation(helix.api.springboot.starter)
}

Configuration

This starter uses the management.endpoint.errors property namespace.

  • management.endpoint.errors.errorreporter.max-records (Long, default: 1000): Maximum number of error records to store.
  • management.endpoint.errors.enabled (Boolean, default: True): Enable the error reporting endpoint.
  • helix.management.endpoints.metadata.allowoverride (Boolean, default: False): Allow overriding existing metadata via the endpoint.
  • management.endpoint.killswitch.enabled (Boolean, default: False): Enable the kill switch endpoint and interceptor.
  • helix.response-envelope-wrapper.enabled (Boolean, default: False): Enable the response envelope wrapper.
  • helix.response-envelope-wrapper.query-param (String, default: envelope): Name of the query parameter that disables response enveloping.
  • helix.error.globalhandler.enabled (Boolean, default: True): Enable the global error handler.
  • helix.error.logging.enabled (Boolean, default: True): Enables logging of errors within the handler.
  • helix.error.context.enabled (Boolean, default: False): Enables displaying helix context attributes on the error message.
  • helix.error.suppress-generic-exception-message.enabled (Boolean, default: False): Enables suppression of detailed error messages when generic exceptions are handled.
  • helix.filter.cachecontrol.enabled (Boolean, default: True): Enable the Cache-Control filter.
  • helix.filter.context.url-patterns (String): Comma-delimited list of url path patterns for which to apply this filter.
  • helix.filter.metadata.enabled (Boolean, default: True): Enable the metadata filter.
  • helix.filter.metadata.header-name (String, default: X-Metadata): Header name for metadata.
  • helix.filter.metadata.include (String): Comma-delimited list of metadata keys to include.
  • helix.filter.metadata.exclude (String): Comma-delimited list of metadata keys to exclude.
  • helix.filter.metadata.url-patterns (String): Comma-delimited list of url path patterns for which to apply this filter.
  • helix.filter.date.enabled (Boolean, default: True): Enable the Date header filter.
  • helix.filter.etag.enabled (Boolean, default: False): Enable the ETag filter.
  • helix.filter.etag.url-patterns (List): URL patterns for ETag filter.
  • helix.filter.httplogging.enabled (Boolean, default: False): Enable HTTP request/response logging.
  • helix.filter.httplogging.url-patterns (String): Url patterns for logging filter.
  • helix.filter.httplogging.health-endpoints.exclude (Boolean, default: True): Exclude /health and /liveness endpoints from logging.
  • helix.filter.httplogging.logasyncdispatch.enabled (Boolean, default: True): Log async dispatch requests.
  • helix.filter.httplogging.request.header.excludes (String): Headers to exclude from request logging.
  • helix.filter.httplogging.request.queryparam.excludes (String): Query parameters to exclude from request logging.
  • helix.filter.httplogging.response.max-bytes (Integer, default: 2147483647): Max bytes to log for response bodies.
  • helix.filter.httplogging.response.header.excludes (String): Headers to exclude from response logging.
  • helix.filter.methodoverride.enabled (Boolean, default: False): Enable HTTP method override.
  • helix.filter.httpmetrics.enabled (Boolean, default: True): Enable HTTP metrics.
  • helix.filter.httpmetrics.url-patterns (String): Url patterns for metrics filter.
  • helix.filter.requestid.enabled (Boolean, default: False): Enable Request ID filter.
  • helix.filter.requestid.url-patterns (String): Url patterns for request id filter.
  • helix.filter.requestid.header-name (String, default: X-Request-ID): Header name for request ID.
  • helix.filter.requestid.length (Integer, default: 30): Length of generated request ID.
  • management.endpoint.externalhealth.enabled (Boolean, default: False): Enable external health endpoint.
  • helix.interceptor.appid.enabled (Boolean, default: False): Enable App ID interceptor.
  • helix.interceptor.deprecation.enabled (Boolean, default: True): Enable deprecation interceptor.
  • helix.listener.endpointregistration.enabled (Boolean, default: True): Enable endpoint registration logging.
  • helix.listener.pidlogging.enabled (Boolean, default: True): Enable PID logging.
  • helix.listener.uptime.enabled (Boolean, default: True): Enable uptime listener.
  • helix.partialresponse.enabled (Boolean, default: False): Enable partial response handling.
  • helix.partialresponse.queryparam (String, default: fields): Query parameter name for partial response fields.
  • helix.sanitycheck.enabled (Boolean, default: True): Enable sanity checks.