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

public interface RestBuilder<SELF extends RestBuilder<SELF>>
Public, fluent, self-typed configuration surface for programmatically configuring a @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.

// Configure a resource programmatically; builder values win over the class's @Rest annotation. MyRest r = MyRest.builder().path("/foo").allowedHeaderParams("foo").build();

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