{"id":15002492,"url":"https://github.com/deejaytc/net-dynamic-api","last_synced_at":"2025-06-28T02:39:27.830Z","repository":{"id":38184715,"uuid":"469752999","full_name":"DeeJayTC/net-dynamic-api","owner":"DeeJayTC","description":"A library that turns your model into a fully working API, define your model as markdown (soon), json or c#.","archived":false,"fork":false,"pushed_at":"2023-02-17T12:41:50.000Z","size":8362,"stargazers_count":186,"open_issues_count":3,"forks_count":17,"subscribers_count":15,"default_branch":"main","last_synced_at":"2024-05-01T18:36:57.755Z","etag":null,"topics":["asp-net-core","csharp","dotnet-core","entity-framework-core","odata-server","rest-api","sql-server","webapi"],"latest_commit_sha":null,"homepage":"https://www.tcdev.de/tcdev-api-generator-getting-started","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DeeJayTC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/funding.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":["deejaytc"],"open_collective":"net-dynamic-api"}},"created_at":"2022-03-14T13:48:20.000Z","updated_at":"2024-05-01T18:36:57.756Z","dependencies_parsed_at":"2023-02-14T11:46:03.466Z","dependency_job_id":null,"html_url":"https://github.com/DeeJayTC/net-dynamic-api","commit_stats":{"total_commits":113,"total_committers":3,"mean_commits":"37.666666666666664","dds":"0.017699115044247815","last_synced_commit":"4279e35276a5da283908f6a3e9a10c45fe49cbc5"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeeJayTC%2Fnet-dynamic-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeeJayTC%2Fnet-dynamic-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeeJayTC%2Fnet-dynamic-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeeJayTC%2Fnet-dynamic-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DeeJayTC","download_url":"https://codeload.github.com/DeeJayTC/net-dynamic-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230382859,"owners_count":18216854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asp-net-core","csharp","dotnet-core","entity-framework-core","odata-server","rest-api","sql-server","webapi"],"created_at":"2024-09-24T18:50:46.676Z","updated_at":"2024-12-19T05:08:49.000Z","avatar_url":"https://github.com/DeeJayTC.png","language":"C#","funding_links":["https://github.com/sponsors/deejaytc","https://opencollective.com/net-dynamic-api","https://www.github.com/sponsors/deejaytc"],"categories":[],"sub_categories":[],"readme":"![image](https://user-images.githubusercontent.com/4077759/162592498-d420906e-5eee-4d95-b0b2-c5c3c2b0c8d1.png)\n[Getting Started](https://www.tcdev.de/tcdev-api-generator-getting-started) | [Samples](https://github.com/DeeJayTC/api-generator-samples) | [Walkthrough Video](https://youtu.be/TI5CeNq3-o8)\n\n# Get fully working CRUD API's in an instant!\n\u003ca href=\"https://docs.rasepi.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/Docs-0.7.0-orange\"\u003e\u003c/a\u003e\n\u003ca href=\"https://twitter.com/intent/follow?screen_name=timcadenbach\"\u003e\u003cimg src=\"https://img.shields.io/badge/Twitter-follow-blue\"\u003e\u003c/a\u003e\n\u003ca href=\"https://www.github.com/sponsors/deejaytc\"\u003e\u003cimg src=\"https://img.shields.io/github/sponsors/deejaytc?label=Lovely%20Sponsors\" /\u003e \u003c/a\u003e\n\n\n## Build  \u0026 Nuget Status\n\n| Version | Build | Nuget \n|--------------|-----------------|-------------------|\n| Main | \u003cimg src=\"https://github.com/DeeJayTC/net-dynamic-api/actions/workflows/dotnet.yml/badge.svg\"\u003e | [0.7.0](https://www.nuget.org/packages/TCDev.ApiGenerator/0.7.0) | [![Build Status Installer pipeline](https://github.com/DeeJayTC/net-dynamic-api/actions/workflows/dotnet.yml/badge.svg)](https://dev.azure.com/microsoft/Dart/_build/latest?definitionId=76541\u0026branchName=main) |\n| VNext |  \u003cimg src=\"https://github.com/DeeJayTC/net-dynamic-api/actions/workflows/dotnet.yml/badge.svg\"\u003e | [0.8.0](https://www.nuget.org/packages/TCDev.ApiGenerator/0.8.0)\n\n## About\nThe API Generator is a tool that helps you create fully functioning CRUD microservices with ease. Whether you use C# classes or a JSON definition, the API Generator takes care of all the necessary components, such as routes, database handling, migrations, openapi spec, and OData. All you have to do is write your model, and you'll have a CRUD API complete with filtering, sorting, selectable fields, and all the other features offered by both OData and classic REST.\n\n\nCreating a CRUD API has never been easier. With just a few lines of code, you can have a working API in no time. Here's a simple example:\n```csharp\n/// \u003csummary\u003e\n/// This is as simple as it gets, yes this is a working api ;)\n/// \u003c/summary\u003e\n[Api(\"/simple\")]\npublic class SimpleSample : IObjectBase\u003cint\u003e\n{\n  public int Id { get; set; }\n  public string Name { get; set; }\n  public int Value { get; set; }\n}\n```\n\nOr, if you prefer using JSON:\n\n```csharp\n [Api(\"/people\", ApiMethodsToGenerate.All )]\n public class Person : Trackable, \n    IObjectBase\u003cGuid\u003e,\n    IBeforeUpdate\u003cPerson\u003e, // Before Update Hook\n    IBeforeDelete\u003cPerson\u003e, // BeforeDelete Hook\n {\n    public string Name { get; set; }\n    public DateTime Date { get; set; }\n    public string Description { get; set; }\n    public int Age { get; set; }\n    public Guid Id { get; set; }\n }\n```\n\nAnd this is also the FULL code for a working API using the JSON mode:\n\n```json\n[\n    {\n      \"name\": \"Car\",\n      \"route\": \"/cars\",\n      \"caching\": true,\n      \"cacheLiveTime\": 1000,\n      \"events\": \"POST,PUT,DELETE\",\n      \"idType\":  \"int\", \n      \"Fields\": [\n        {\n          \"name\": \"Name\",\n          \"type\": \"String\",\n          \"maxLength\": \"200\",\n          \"nullable\": false\n        }\n      ]\n    }\n  ]\n ```\n\n# Getting Started \u0026 Documentation\nRead this for a more detailed guide -\u003e [https://www.tcdev.de/tcdev-api-generator-getting-started](https://www.tcdev.de/tcdev-api-generator-getting-started)\nOr just follow these steps:\n\n* Install the package\n```csharp\ndotnet add package TCDev.ApiGenerator --prerelease\n```\nafter the package is installed add this to your program.cs (or startup.cs)\n\n```csharp\n// Add API Generator and load data\nbuilder.Services.AddApiGeneratorServices()\n                //From Assembly with OData .AddAssemblyWithOData(Assembly.GetExecutingAssembly())\n                //or as JSON from Uri .AddAssemblyWithODataFromUri(\"https://raw.githubusercontent.com/DeeJayTC/net-dynamic-api/main/sample/SampleAppJson/ApiDefinition.json\",\"\")\n                //Or without OData .AddAssembly(Assembly.GetExecutingAssembly())\n                .AddDataContextSQL() // or Postgres or SQLite\n                .AddOData()\n                .AddSwagger(true);\n```\n\n### Documentation \n[https://docs.rasepi.com/](https://docs.rasepi.com/)\n\n# Samples\nYou can find samples for using the library in the samples repository, constantly updated to match latest version and features:\n\n[https://github.com/DeeJayTC/api-generator-samples](https://github.com/DeeJayTC/api-generator-samples)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeejaytc%2Fnet-dynamic-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeejaytc%2Fnet-dynamic-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeejaytc%2Fnet-dynamic-api/lists"}