Interface RestBuilder<SELF extends RestBuilder<SELF>>
- Type Parameters:
SELF- The concrete builder type (self type).
- All Known Implementing Classes:
AbstractRestBuilder,FaviconMixin.Builder,RestMixin.Builder,RestMixin.DefaultBuilder,RestResource.Builder,RestResource.DefaultBuilder,RestServlet.Builder,RestServlet.DefaultBuilder,SeoMixin.Builder,VersionMixin.Builder,WellKnownMixin.Builder
@Rest resource,
child resource, or mixin instead of (or in addition to) the @Rest annotation.
This is the user-facing builder surface introduced for programmatic resource/mixin configuration (e.g.
instantiating a configured resource bean in a Spring @Bean method). Builder-supplied values take
precedence over @Rest annotation values — they slot in as the highest-priority
(rung 1) contributor of the runtime-override resolution chain documented on
RestContext.getPaths(), generalized to every @Rest member.
Self type (CRTP):
The SELF type parameter is the concrete builder type, so every fluent setter returns the most-derived
builder type and bespoke setters added by a builder subclass chain with true covariant returns. This mirrors
the project-wide SELF/self() self-type convention.
See Also:
- Since:
- 10.0.0
-
Method Summary
Modifier and TypeMethodDescriptionallowedHeaderParams(String value) Specifies theallowedHeaderParamsfor this resource.allowedMethodHeaders(String value) Specifies theallowedMethodHeadersfor this resource.allowedMethodParams(String value) Specifies theallowedMethodParamsfor this resource.allowedParserOptions(String... value) Specifies theallowedParserOptionsfor this resource.allowedSerializerOptions(String... value) Specifies theallowedSerializerOptionsfor this resource.asyncCompletionExecutor(String value) Specifies theasyncCompletionExecutorbean name for this resource.asyncTimeoutMillis(String value) Specifies theasyncTimeoutMillisfor this resource.Specifies thechild resourcesfor this resource.clientVersionHeader(String value) Specifies theclientVersionHeaderfor this resource.Specifies theconfiglocation for this resource.Specifies theconsumesmedia types for this resource.converters(Class<? extends RestConverter>... value) Specifies theconvertersfor this resource.debugMarshalling(String value) Specifies thedebugMarshallingflag for this resource.defaultAccept(String value) Specifies thedefaultAcceptfor this resource.defaultCharset(String value) Specifies thedefaultCharsetfor this resource.defaultContentType(String value) Specifies thedefaultContentTypefor this resource.defaultRequestAttributes(String... value) Specifies thedefaultRequestAttributesfor this resource.defaultRequestHeaders(String... value) Specifies thedefaultRequestHeadersfor this resource.defaultResponseHeaders(String... value) Specifies thedefaultResponseHeadersfor this resource.description(String... value) Specifies thedescriptionfor this resource.disableContentParam(String value) Specifies thedisableContentParamflag for this resource.Specifies theeagerInitflag for this resource.Specifies theencodersfor this resource.Specifies theguardsfor this resource.lazyChildren(String value) Specifies thelazyChildrenflag for this resource.Specifies themaxInputfor this resource.mdcAsyncPropagation(boolean value) Specifies whether MDC async propagation is enabled for this resource.Specifies themessagesbundle location for this resource.Specifies themixinDefs(rich, host-overriding mixin definitions) for this resource.Specifies themixinsfor this resource.Specifies thenoInheritproperty names for this resource.observability(String value) Specifies theobservabilityflag for this resource.openApiProvider(Class<? extends OpenApiProvider> value) Specifies theopenApiProviderfor this resource.Specifies theparsersfor this resource.partParser(Class<? extends HttpPartParser> value) Specifies thepartParserfor this resource.partSerializer(Class<? extends HttpPartSerializer> value) Specifies thepartSerializerfor this resource.Specifies thepathfor this resource.Specifies thetop-level mount pathsfor this resource.problemDetails(String value) Specifies theproblemDetailsflag for this resource.Specifies theproducesmedia types for this resource.renderResponseStackTraces(String value) Specifies therenderResponseStackTracesflag for this resource.responseProcessors(Class<? extends ResponseProcessor>... value) Specifies theresponseProcessorsfor this resource.restOpArgs(Class<? extends RestOpArg>... value) Specifies therestOpArgsfor this resource.Specifies theroleGuardfor this resource.rolesDeclared(String value) Specifies therolesDeclaredfor this resource.serializers(Class<? extends Serializer>... value) Specifies theserializersfor this resource.Generic forward-compatible override setter, keyed by the@Restproperty name (e.g.Specifies thesiteNamefor this resource.staticFiles(Class<? extends StaticFiles> value) Specifies thestaticFilesfor this resource.swaggerProvider(Class<? extends SwaggerProvider> value) Specifies theswaggerProviderfor this resource.Specifies thetitlefor this resource.uriAuthority(String value) Specifies theuriAuthorityfor this resource.uriContext(String value) Specifies theuriContextfor this resource.uriRelativity(String value) Specifies theuriRelativityfor this resource.uriResolution(String value) Specifies theuriResolutionfor this resource.virtualThreads(String value) Specifies thevirtualThreadsflag for this resource.
-
Method Details
-
path
Specifies thepathfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
paths
Specifies thetop-level mount pathsfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
children
Specifies thechild resourcesfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
mixins
Specifies themixinsfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
mixinDefs
Specifies themixinDefs(rich, host-overriding mixin definitions) for this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
uriAuthority
Specifies theuriAuthorityfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
uriContext
Specifies theuriContextfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
uriRelativity
Specifies theuriRelativityfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
uriResolution
Specifies theuriResolutionfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
serializers
Specifies theserializersfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
parsers
Specifies theparsersfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
encoders
Specifies theencodersfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
partSerializer
Specifies thepartSerializerfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
partParser
Specifies thepartParserfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
consumes
Specifies theconsumesmedia types for this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
produces
Specifies theproducesmedia types for this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
responseProcessors
Specifies theresponseProcessorsfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
allowedSerializerOptions
Specifies theallowedSerializerOptionsfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
allowedParserOptions
Specifies theallowedParserOptionsfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
allowedHeaderParams
Specifies theallowedHeaderParamsfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
allowedMethodHeaders
Specifies theallowedMethodHeadersfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
allowedMethodParams
Specifies theallowedMethodParamsfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
clientVersionHeader
Specifies theclientVersionHeaderfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
defaultAccept
Specifies thedefaultAcceptfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
defaultContentType
Specifies thedefaultContentTypefor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
defaultCharset
Specifies thedefaultCharsetfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
defaultRequestAttributes
Specifies thedefaultRequestAttributesfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
defaultRequestHeaders
Specifies thedefaultRequestHeadersfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
defaultResponseHeaders
Specifies thedefaultResponseHeadersfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
disableContentParam
Specifies thedisableContentParamflag for this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
maxInput
Specifies themaxInputfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
restOpArgs
Specifies therestOpArgsfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
guards
Specifies theguardsfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
roleGuard
Specifies theroleGuardfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
rolesDeclared
Specifies therolesDeclaredfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
converters
Specifies theconvertersfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
eagerInit
Specifies theeagerInitflag for this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
lazyChildren
Specifies thelazyChildrenflag for this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
virtualThreads
Specifies thevirtualThreadsflag for this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
asyncTimeoutMillis
Specifies theasyncTimeoutMillisfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
asyncCompletionExecutor
Specifies theasyncCompletionExecutorbean name for this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
observability
Specifies theobservabilityflag for this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
renderResponseStackTraces
Specifies therenderResponseStackTracesflag for this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
problemDetails
Specifies theproblemDetailsflag for this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
debugMarshalling
Specifies thedebugMarshallingflag for this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
title
Specifies thetitlefor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
description
Specifies thedescriptionfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
siteName
Specifies thesiteNamefor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
swaggerProvider
Specifies theswaggerProviderfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
openApiProvider
Specifies theopenApiProviderfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
messages
Specifies themessagesbundle location for this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
config
Specifies theconfiglocation for this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
staticFiles
Specifies thestaticFilesfor this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
noInherit
Specifies thenoInheritproperty names for this resource.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
mdcAsyncPropagation
Specifies whether MDC async propagation is enabled for this resource.This is a programmatic-only knob — it has no
@Restannotation member (its default is env-driven). Setting it here overrides theRestContext.mdcAsyncPropagationenv-driven default.- Parameters:
value- The new value for this property.- Returns:
- This object.
-
set
Generic forward-compatible override setter, keyed by the@Restproperty name (e.g."allowContentParam","defaultRequestHeaders").Use this escape hatch for members not yet exposed as a dedicated fluent method. Keys reuse the existing
@Restmember names.- Parameters:
key- The@Restproperty name. Must not benull .value- The override value.- Returns:
- This object.
-