AddXMapEndpoints 1.1.0
See the version list below for details.
dotnet add package AddXMapEndpoints --version 1.1.0
NuGet\Install-Package AddXMapEndpoints -Version 1.1.0
<PackageReference Include="AddXMapEndpoints" Version="1.1.0" />
paket add AddXMapEndpoints --version 1.1.0
#r "nuget: AddXMapEndpoints, 1.1.0"
// Install AddXMapEndpoints as a Cake Addin
#addin nuget:?package=AddXMapEndpoints&version=1.1.0
// Install AddXMapEndpoints as a Cake Tool
#tool nuget:?package=AddXMapEndpoints&version=1.1.0
XMaps Enpoints
This extension allows you to auto-generate Minimal API into your WebApplication.
To use this �magic� feature just follow those siple steps:
Add the extension method inside your Program.cs class:
app.AddXMapEndpoints(); // It's a kind of magic...
Decorate desired DTO�s with the �AddXMapEndpoints� attribute
[AddXMapEndpoints]
public class MyDto
How it works:
Decorating a DTO with the �AddXMapEndpoints� attribute will create those API:
- GET ⇒ IEnumerable<DTO>
- GET ⇒ DTO (searching by key)
- POST ⇒ DTO
- PUT ⇒ DTO
- DELETE ⇒ DTO (using POST verb)
The api, and relative routes, will be created in this way:
- MapGet ⇒ "/X" + typeof(�YourDto�).Name
- MapGet ⇒ "/X" + typeof(�YourDto�).Name + "/{key}"
- MapPost ⇒ "/X" + typeof(�YourDto�).Name , myDto
- MapPut ⇒ "/X" + typeof(�YourDto�).Name , myDto
- MapPost ⇒ "/XDelete" + typeof(�YourDto�).Name , myDto
NB: Navigation properties (FK) are automatically loaded.
To load also �collection� navigations you must explicitly declare it within the attribute:
[AddXMapEndpoints(includeChildren: true)]
Examples:
// Get a LIST of DTO
var many = await httpClient.GetFromJsonAsync<List<MyDto>>(baseUri + "X" + nameof(MyDto));
// Get a SINGLE DTO (with key = 1)
var one = await httpClient.GetFromJsonAsync<MyDto>(baseUri + "X" + nameof(MyDto) +"/1");
// Create a new entity (mapped from myDto)
var newDto = await httpClient.PostAsJsonAsync<MyDto>(baseUri + "X" + nameof(MyDto), myDto);
// Update an existing entity (mapped from myDto)
var updDto = await httpClient.PutAsJsonAsync<MyDto>(baseUri + "X" + nameof(MyDto), myDto);
// Delete an existing entity (mapped from myDto) NB: POST verb is used (to pass dto as body)
var res = await httpClient.PostAsJsonAsync<MyDto>(baseUri + "XDelete" + nameof(MyDto), myDto);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. 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. |
-
net8.0
- AutoMapper (>= 13.0.1)
- Microsoft.EntityFrameworkCore (>= 8.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.