FlanderDev.RouteGen.Abstractions
0.8.0
dotnet add package FlanderDev.RouteGen.Abstractions --version 0.8.0
NuGet\Install-Package FlanderDev.RouteGen.Abstractions -Version 0.8.0
<PackageReference Include="FlanderDev.RouteGen.Abstractions" Version="0.8.0" />
<PackageVersion Include="FlanderDev.RouteGen.Abstractions" Version="0.8.0" />
<PackageReference Include="FlanderDev.RouteGen.Abstractions" />
paket add FlanderDev.RouteGen.Abstractions --version 0.8.0
#r "nuget: FlanderDev.RouteGen.Abstractions, 0.8.0"
#:package FlanderDev.RouteGen.Abstractions@0.8.0
#addin nuget:?package=FlanderDev.RouteGen.Abstractions&version=0.8.0
#tool nuget:?package=FlanderDev.RouteGen.Abstractions&version=0.8.0
FlanderDev.RouteGen.Abstractions
Attributes and runtime types for RouteGen.
This package contains everything your shared project (and application code) needs to reference:
[ApiRoute],[Get],[Post],[Put],[Delete],[Patch][Query],[Body],[Form],[File],[Route][GenAuthorize],[GenAllowAnonymous](prefixed to avoid colliding with ASP.NET Core's own[Authorize]/[AllowAnonymous])[GeneratedPathName](names a Razor page's generatedPathsmember)FormFile,FileWithData<TData>(client-side file/paired-data types for[File])ApiException(thrown by the generated client on non-success responses)
Quick start
dotnet add package FlanderDev.RouteGen.Abstractions
Then define your API contract once:
[ApiRoute("api/mods", HttpClientName = "App")]
public partial interface IModsApi
{
[Get]
Task<ModListResult> GetMods([Query] int page = 1, [Query] string? search = null);
[Get("{id:int}")]
Task<ModDto> GetMod(int id);
[Post("upload")]
[GenAuthorize]
Task<ModDto> Upload([Body] ModUploadDto dto);
}
The matching generator package (FlanderDev.RouteGen.Generators) turns this into a controller base + strongly typed HttpClient implementation.
License
MIT
| 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 was computed. 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
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on FlanderDev.RouteGen.Abstractions:
| Package | Downloads |
|---|---|
|
FlanderDev.RouteGen.Generators
Roslyn incremental source generators that eliminate hand-maintained route/URL constants in Blazor WebAssembly Hosted + ASP.NET Core solutions. Declare an API once as an attributed interface in a shared project; RouteGen generates a routed abstract MVC controller base for the server and a strongly-typed HttpClient implementation for the client, plus a Paths class generated from @page directives. |
GitHub repositories
This package is not used by any popular GitHub repositories.