Skip to content

Interface IRestBehaviorEndpointGroupBuilder

Namespace: Cephalon.Behaviors.Http.Hosting
Assembly: Cephalon.Behaviors.Http.dll

Describes one public REST route group backed by Cephalon behaviors.

public interface IRestBehaviorEndpointGroupBuilder

Mapping a behavior through this contract automatically declares module ownership for that behavior. Use when a behavior should remain internal-only or when the module needs a custom/manual endpoint mapping path.

Opts explicit module-DSL endpoints in this route group into host-level REST governance.

IRestBehaviorEndpointGroupBuilder AllowHostGovernance()

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent configuration.

Descriptor-backed shorthand routes published through and already participate in host-level suppression and override rules. This opt-in only makes explicit MapGet/MapPost/MapPut/MapPatch/MapDelete module-DSL endpoints governable by host-level RestApi:Suppressions and RestApi:Overrides.

Assigns the route group to the supplied public API major version.

IRestBehaviorEndpointGroupBuilder ApiVersion(int major)

major int

The public API major version.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent configuration.

Applies additional Minimal API route-group conventions when the group is materialized.

IRestBehaviorEndpointGroupBuilder Configure(Action<RouteGroupBuilder> configure)

configure Action<RouteGroupBuilder>

The callback that can add route-group conventions.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent configuration.

MapDelete<TBehavior>(string, Action<RouteHandlerBuilder>?)

Section titled “ MapDelete<TBehavior>(string, Action<RouteHandlerBuilder>?)”

Maps a REST DELETE endpoint that dispatches into the specified behavior.

IRestBehaviorEndpointGroupBuilder MapDelete<TBehavior>(string pattern, Action<RouteHandlerBuilder>? configureEndpoint = null) where TBehavior : class

pattern string

The route pattern relative to the group prefix.

configureEndpoint Action<RouteHandlerBuilder>?

Optional endpoint-level Minimal API customization.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent route composition.

TBehavior

The behavior type to expose.

MapDelete<TBehavior>(string, Action<IBehaviorTopologyBuilder>, Action<RouteHandlerBuilder>?)

Section titled “ MapDelete<TBehavior>(string, Action<IBehaviorTopologyBuilder>, Action<RouteHandlerBuilder>?)”

Maps a REST DELETE endpoint that dispatches into the specified behavior and applies an explicit topology override while registering ownership.

IRestBehaviorEndpointGroupBuilder MapDelete<TBehavior>(string pattern, Action<IBehaviorTopologyBuilder> configureTopology, Action<RouteHandlerBuilder>? configureEndpoint = null) where TBehavior : class

pattern string

The route pattern relative to the group prefix.

configureTopology Action<IBehaviorTopologyBuilder>

The explicit topology selection callback.

configureEndpoint Action<RouteHandlerBuilder>?

Optional endpoint-level Minimal API customization.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent route composition.

TBehavior

The behavior type to expose.

Maps all generated REST profiles from the owning module assembly whose behavior ids match the route-group prefix convention.

IRestBehaviorEndpointGroupBuilder MapGeneratedProfiles()

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent route composition.

This is an explicit module-owned low-code opt-in. It never publishes public REST from [AppBehavior] alone.

Cephalon derives the behavior-id prefix from the group prefix by trimming leading and trailing slashes and replacing remaining / separators with .. Use when behavior ids do not follow that convention.

Maps all generated REST profiles from the owning module assembly whose behavior ids match the supplied behavior-id prefix.

IRestBehaviorEndpointGroupBuilder MapGeneratedProfiles(string behaviorIdPrefix)

behaviorIdPrefix string

The behavior-id prefix used to select generated REST profiles from the owning module assembly.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent route composition.

This is an explicit module-owned low-code opt-in. It prefers source-generated REST profile hints and keeps generated routes in the same normalized projection and precedence pipeline as the rest of the REST DSL.

MapGet<TBehavior>(string, Action<RouteHandlerBuilder>?)

Section titled “ MapGet<TBehavior>(string, Action<RouteHandlerBuilder>?)”

Maps a REST GET endpoint that dispatches into the specified behavior.

IRestBehaviorEndpointGroupBuilder MapGet<TBehavior>(string pattern, Action<RouteHandlerBuilder>? configureEndpoint = null) where TBehavior : class

pattern string

The route pattern relative to the group prefix.

configureEndpoint Action<RouteHandlerBuilder>?

Optional endpoint-level Minimal API customization.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent route composition.

TBehavior

The behavior type to expose.

MapGet<TBehavior>(string, Action<IBehaviorTopologyBuilder>, Action<RouteHandlerBuilder>?)

Section titled “ MapGet<TBehavior>(string, Action<IBehaviorTopologyBuilder>, Action<RouteHandlerBuilder>?)”

Maps a REST GET endpoint that dispatches into the specified behavior and applies an explicit topology override while registering ownership.

IRestBehaviorEndpointGroupBuilder MapGet<TBehavior>(string pattern, Action<IBehaviorTopologyBuilder> configureTopology, Action<RouteHandlerBuilder>? configureEndpoint = null) where TBehavior : class

pattern string

The route pattern relative to the group prefix.

configureTopology Action<IBehaviorTopologyBuilder>

The explicit topology selection callback.

configureEndpoint Action<RouteHandlerBuilder>?

Optional endpoint-level Minimal API customization.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent route composition.

TBehavior

The behavior type to expose.

MapPatch<TBehavior>(string, Action<RouteHandlerBuilder>?)

Section titled “ MapPatch<TBehavior>(string, Action<RouteHandlerBuilder>?)”

Maps a REST PATCH endpoint that dispatches into the specified behavior.

IRestBehaviorEndpointGroupBuilder MapPatch<TBehavior>(string pattern, Action<RouteHandlerBuilder>? configureEndpoint = null) where TBehavior : class

pattern string

The route pattern relative to the group prefix.

configureEndpoint Action<RouteHandlerBuilder>?

Optional endpoint-level Minimal API customization.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent route composition.

TBehavior

The behavior type to expose.

MapPatch<TBehavior>(string, Action<IBehaviorTopologyBuilder>, Action<RouteHandlerBuilder>?)

Section titled “ MapPatch<TBehavior>(string, Action<IBehaviorTopologyBuilder>, Action<RouteHandlerBuilder>?)”

Maps a REST PATCH endpoint that dispatches into the specified behavior and applies an explicit topology override while registering ownership.

IRestBehaviorEndpointGroupBuilder MapPatch<TBehavior>(string pattern, Action<IBehaviorTopologyBuilder> configureTopology, Action<RouteHandlerBuilder>? configureEndpoint = null) where TBehavior : class

pattern string

The route pattern relative to the group prefix.

configureTopology Action<IBehaviorTopologyBuilder>

The explicit topology selection callback.

configureEndpoint Action<RouteHandlerBuilder>?

Optional endpoint-level Minimal API customization.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent route composition.

TBehavior

The behavior type to expose.

MapPost<TBehavior>(string, Action<RouteHandlerBuilder>?)

Section titled “ MapPost<TBehavior>(string, Action<RouteHandlerBuilder>?)”

Maps a REST POST endpoint that dispatches into the specified behavior.

IRestBehaviorEndpointGroupBuilder MapPost<TBehavior>(string pattern, Action<RouteHandlerBuilder>? configureEndpoint = null) where TBehavior : class

pattern string

The route pattern relative to the group prefix.

configureEndpoint Action<RouteHandlerBuilder>?

Optional endpoint-level Minimal API customization.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent route composition.

TBehavior

The behavior type to expose.

MapPost<TBehavior>(string, Action<IBehaviorTopologyBuilder>, Action<RouteHandlerBuilder>?)

Section titled “ MapPost<TBehavior>(string, Action<IBehaviorTopologyBuilder>, Action<RouteHandlerBuilder>?)”

Maps a REST POST endpoint that dispatches into the specified behavior and applies an explicit topology override while registering ownership.

IRestBehaviorEndpointGroupBuilder MapPost<TBehavior>(string pattern, Action<IBehaviorTopologyBuilder> configureTopology, Action<RouteHandlerBuilder>? configureEndpoint = null) where TBehavior : class

pattern string

The route pattern relative to the group prefix.

configureTopology Action<IBehaviorTopologyBuilder>

The explicit topology selection callback.

configureEndpoint Action<RouteHandlerBuilder>?

Optional endpoint-level Minimal API customization.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent route composition.

TBehavior

The behavior type to expose.

MapProfile<TBehavior>(Action<RouteHandlerBuilder>?)

Section titled “ MapProfile<TBehavior>(Action<RouteHandlerBuilder>?)”

Maps a REST endpoint by consuming the metadata-only REST profile declared on the specified behavior.

IRestBehaviorEndpointGroupBuilder MapProfile<TBehavior>(Action<RouteHandlerBuilder>? configureEndpoint = null) where TBehavior : class

configureEndpoint Action<RouteHandlerBuilder>?

Optional endpoint-level Minimal API customization.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent route composition.

TBehavior

The behavior type to expose through the owning module.

The owning module still controls the public group prefix, tags, and published OpenAPI documents. The behavior profile contributes only the candidate method, relative pattern, and optional API major version metadata.

MapProfile<TBehavior>(Action<IBehaviorTopologyBuilder>, Action<RouteHandlerBuilder>?)

Section titled “ MapProfile<TBehavior>(Action<IBehaviorTopologyBuilder>, Action<RouteHandlerBuilder>?)”

Maps a REST endpoint by consuming the metadata-only REST profile declared on the specified behavior while applying an explicit topology override during ownership registration.

IRestBehaviorEndpointGroupBuilder MapProfile<TBehavior>(Action<IBehaviorTopologyBuilder> configureTopology, Action<RouteHandlerBuilder>? configureEndpoint = null) where TBehavior : class

configureTopology Action<IBehaviorTopologyBuilder>

The explicit topology selection callback.

configureEndpoint Action<RouteHandlerBuilder>?

Optional endpoint-level Minimal API customization.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent route composition.

TBehavior

The behavior type to expose through the owning module.

MapPut<TBehavior>(string, Action<RouteHandlerBuilder>?)

Section titled “ MapPut<TBehavior>(string, Action<RouteHandlerBuilder>?)”

Maps a REST PUT endpoint that dispatches into the specified behavior.

IRestBehaviorEndpointGroupBuilder MapPut<TBehavior>(string pattern, Action<RouteHandlerBuilder>? configureEndpoint = null) where TBehavior : class

pattern string

The route pattern relative to the group prefix.

configureEndpoint Action<RouteHandlerBuilder>?

Optional endpoint-level Minimal API customization.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent route composition.

TBehavior

The behavior type to expose.

MapPut<TBehavior>(string, Action<IBehaviorTopologyBuilder>, Action<RouteHandlerBuilder>?)

Section titled “ MapPut<TBehavior>(string, Action<IBehaviorTopologyBuilder>, Action<RouteHandlerBuilder>?)”

Maps a REST PUT endpoint that dispatches into the specified behavior and applies an explicit topology override while registering ownership.

IRestBehaviorEndpointGroupBuilder MapPut<TBehavior>(string pattern, Action<IBehaviorTopologyBuilder> configureTopology, Action<RouteHandlerBuilder>? configureEndpoint = null) where TBehavior : class

pattern string

The route pattern relative to the group prefix.

configureTopology Action<IBehaviorTopologyBuilder>

The explicit topology selection callback.

configureEndpoint Action<RouteHandlerBuilder>?

Optional endpoint-level Minimal API customization.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent route composition.

TBehavior

The behavior type to expose.

Tags the route group with a stable host-governance scope that suppression and override selectors can target without changing the authored route shape.

IRestBehaviorEndpointGroupBuilder WithHostGovernanceScope(string hostGovernanceScope)

hostGovernanceScope string

The stable host-governance scope for the authored route group.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent configuration.

This scope contributes additional original-projection selector truth, but it does not opt explicit module-DSL endpoints into host governance by itself. Use when explicit module-DSL endpoints should allow host governance to participate.

Overrides the published OpenAPI document name for the route group.

IRestBehaviorEndpointGroupBuilder WithOpenApiDocumentName(string openApiDocumentName)

openApiDocumentName string

The OpenAPI document name to publish.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent configuration.

Overrides the published OpenAPI tag description for the route group.

IRestBehaviorEndpointGroupBuilder WithTagDescription(string? description)

description string?

The tag description to publish. Pass null to clear it.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent configuration.

Overrides the published OpenAPI tag name for the route group.

IRestBehaviorEndpointGroupBuilder WithTagName(string tagName)

tagName string

The tag name to publish.

IRestBehaviorEndpointGroupBuilder

The same group builder for fluent configuration.