TCDev.APIGenerator.Schema
0.6.0
See the version list below for details.
dotnet add package TCDev.APIGenerator.Schema --version 0.6.0
NuGet\Install-Package TCDev.APIGenerator.Schema -Version 0.6.0
<PackageReference Include="TCDev.APIGenerator.Schema" Version="0.6.0" />
paket add TCDev.APIGenerator.Schema --version 0.6.0
#r "nuget: TCDev.APIGenerator.Schema, 0.6.0"
// Install TCDev.APIGenerator.Schema as a Cake Addin #addin nuget:?package=TCDev.APIGenerator.Schema&version=0.6.0 // Install TCDev.APIGenerator.Schema as a Cake Tool #tool nuget:?package=TCDev.APIGenerator.Schema&version=0.6.0
Getting Started | Samples | Walkthrough Video
Turn your models into fully working APIs in minutes
<a href="https://tcdev.gitbook.io/"><img src="https://img.shields.io/badge/Docs-0.0.9-orange"></a> <a href="https://twitter.com/intent/follow?screen_name=timcadenbach"><img src="https://img.shields.io/badge/Twitter-follow-blue"></a> <a href="https://www.github.com/sponsors/deejaytc"><img src="https://img.shields.io/github/sponsors/deejaytc?label=Lovely%20Sponsors" /> </a>
Build & Nuget Status
Version | Build | Nuget | |
---|---|---|---|
Main | <img src="https://img.shields.io/github/workflow/status/DeeJayTC/net-dynamic-api/.NET/main?label=Main"> | 0.1.3 | |
VNext | <img src="https://img.shields.io/github/workflow/status/DeeJayTC/net-dynamic-api/.NET/vnext?label=vnext"> | 0.1.2-alpha-6ffff |
About
The API Generator automatically generates a fully working CRUD Microservice from just your Model (C# Classes) or a JSON Definition. Everything from routes, database handling, migrations, openapi spec, OData etc is working magically out of the box! You just write your model and get a fully working CRUD api with filtering, sorting, selectable fields and everything else OData and classic REST offers.
By using the API Generator, this little code snippet is already a working CRUD API
/// <summary>
/// This is the minimal sample, yes this is a working api ;)
/// </summary>
[Api("/minimal")]
public class MinimalSample : IObjectBase<int>
{
public int Id { get; set; }
public string Name { get; set; }
public int Value { get; set; }
}
Heres another sample:
[Api("/people", ApiMethodsToGenerate.All )]
public class Person : Trackable,
IObjectBase<Guid>,
IBeforeUpdate<Person>, // Before Update Hook
IBeforeDelete<Person>, // BeforeDelete Hook
{
public string Name { get; set; }
public DateTime Date { get; set; }
public string Description { get; set; }
public int Age { get; set; }
public Guid Id { get; set; }
}
And this is also the FULL code for a working API using the JSON mode:
[
{
"name": "Car",
"route": "/cars",
"caching": true,
"cacheLiveTime": 1000,
"events": "POST,PUT,DELETE",
"idType": "int",
"Fields": [
{
"name": "Name",
"type": "String",
"maxLength": "200",
"nullable": false
}
]
}
]
Getting Started & Docoumentation
Read this for a more detailed guide → https://www.tcdev.de/tcdev-api-generator-getting-started Or just follow these steps:
- Install the package
dotnet add package TCDev.ApiGenerator --prerelease
after the package is installed add this to your program.cs (or startup.cs)
// Add API Generator and load data
builder.Services.AddApiGeneratorServices(builder.Configuration, Assembly.GetExecutingAssembly());
Documentation → https://tcdev.gitbook.io/
Samples
https://github.com/DeeJayTC/net-dynamic-api/tree/main/sample
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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. |
-
net6.0
- EntityFramework.Triggers (>= 6.2.3)
- Microsoft.EntityFrameworkCore (>= 6.0.4)
- Newtonsoft.Json (>= 13.0.1)
- Swashbuckle.AspNetCore.Annotations (>= 6.3.0)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on TCDev.APIGenerator.Schema:
Package | Downloads |
---|---|
TCDev.APIGenerator
Creates fully working CRUD Apis from just models |
|
TCDev.APIGenerator.Data
Package Description |
|
TCDev.APIGenerator.RabbitMQ
Package adds RabbitMQ events to the APIs. Creates fully working CRUD Apis from just models |
|
TCDev.APIGenerator.Redis
Adds necessary functionality to use Redis Cache with the API Generator. Rasepi greates fully working CRUD Apis from just models |
GitHub repositories
This package is not used by any popular GitHub repositories.