Eternet.Mediator.EndpointModel
1.0.4
Prefix Reserved
dotnet add package Eternet.Mediator.EndpointModel --version 1.0.4
NuGet\Install-Package Eternet.Mediator.EndpointModel -Version 1.0.4
<PackageReference Include="Eternet.Mediator.EndpointModel" Version="1.0.4" />
<PackageVersion Include="Eternet.Mediator.EndpointModel" Version="1.0.4" />
<PackageReference Include="Eternet.Mediator.EndpointModel" />
paket add Eternet.Mediator.EndpointModel --version 1.0.4
#r "nuget: Eternet.Mediator.EndpointModel, 1.0.4"
#:package Eternet.Mediator.EndpointModel@1.0.4
#addin nuget:?package=Eternet.Mediator.EndpointModel&version=1.0.4
#tool nuget:?package=Eternet.Mediator.EndpointModel&version=1.0.4
Eternet.Mediator.EndpointModel
Stable endpoint transport descriptors, manifest contracts, readers, and build support used to move endpoint semantics from mediator contracts into downstream consumers without re-interpreting the contracts locally.
Public surface
This package is the narrow shared contract between the generator stack and downstream projection consumers.
It exposes:
EndpointManifestas the root transport artifactEndpointDescriptorand related request/response/route DTOsEndpointOperationSemanticfor additive public API intent (Query,Create,Update,Delete,Upsert)GatewayProjectionDescriptorfor gateway-specific route metadataEndpointManifestJsonfor serializationEndpointRouteNormalizerfor stable route normalizationContractAssemblyEndpointManifestReaderto read the generated manifest carrier from a compiled contracts assemblyEndpointManifestArtifacthelpers for the sidecar file name and path
Build integration
When a contracts project sets:
<EternetGenerateEndpointManifest>true</EternetGenerateEndpointManifest>
the buildTransitive targets in this package:
- read the manifest embedded in the compiled
*.Contracts.dllwhen available, - fall back to reflection-based manifest reconstruction only for compatibility,
- emit
<AssemblyName>.eternet.endpoint-model.json, - copy that sidecar next to the built assembly,
- and include it in the produced
.nupkgso downstream consumers restore it automatically.
Role in manifest-driven projection
The supported manifest-driven projection model is:
Eternet.Mediator.EndpointManifest.Generatorextracts endpoint semantics once from Roslyn symbols.- The dedicated manifest generator emits an embedded manifest carrier into the contracts assembly.
Eternet.Mediator.EndpointModelmaterializes that carrier as a sidecar artifact during build and pack.- A downstream projector consumes the sidecar first, then the embedded carrier, and only falls back to reflection for older assemblies.
That keeps request binding, HTTP verb, route template, and gateway projection metadata authoritative in the contracts repo instead of rediscovering them downstream.
API semantic metadata
EndpointDescriptor.OperationSemantic carries the additive API semantic inferred from the public request contract.
Inference precedence is:
- explicit HTTP and route attributes
- public
IEndpointQuery/Create/Update/Delete/Upsertinterfaces - legacy-compatible
IApiQuery/Create/Update/Delete/Upsertinterfaces - legacy base-type inference
- legacy operation-name fallback
This means a contracts repo can opt into richer semantics without rewriting explicit transport attributes that already ship in production.
For compatibility, OperationSemantic = Upsert still projects to CrudOperation = Update in the manifest. Downstream
consumers that understand the richer field can read OperationSemantic; older consumers can continue using
CrudOperation.
More detail
See Endpoint Manifest Ecosystem for the end-to-end flow and repo responsibility split.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Text.Json (>= 9.0.10)
-
net9.0
- System.Text.Json (>= 9.0.10)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Eternet.Mediator.EndpointModel:
| Package | Downloads |
|---|---|
|
Eternet.UserPreferences.Contracts
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.