Visual Studio project template for Web Api .NET Core solutions 3.1
This Visual Studio extension provides an effective and quick start for .NET Core REST API service and saves many hours of exploring the Web for an optimal solution. Implemented many patterns and features like: 3 API layers, Repository, DI, Unit of Work, Generic services, API sync and async calls, generic exception, Serilog logging, two authentication options JWT or IS4...
Four steps only to create fully functional API:
- install the extension
- update API-appsettings.json with Data Source if not SQLEXPRESS
- run created solution/service which initiates migration/seed services to get the API service info page
- test with Swagger API specification link using credentials email@example.com mysecretpassword123 to get security token
In extended version added T4 templates to generate code for Domain, Service, API and Test classes based on coded Entity classes.
More information and detailed instructions here: www.anasoft.net/apincore
Core features version
- Three layers projects Api, Domain and Entity
- Dependency Injection (.Net Core feature)
- Generic Service
- Generic Repository with Entity Framework
- EF lazy loading and DB concurrency errors
- Sync and Async calls
- Generic exception handler
- Serilog logging with Console and File sinks
- Migrations and seed from json objects build your empty database
- Select between Indentity Server 4 or JWT authorization/authentication for generated API
- Swagger and Swashbuckle API documentation for .NET Core
- T4 templates - simple code generation for domain and service classes
Extended features version
All core features included.
T4 templates - smart code generation driven by existing entity classes (inherits from BaseEntity). T4 templates generate code for related domain, service, controller and test classes based on added entity classes in single click. Great time saver!
XUnit integration tests project added to the solution for IS4 mode or JWT authentication mode.
Postman API tests as json file for import (IS4 and JWT tests). Import and run the tests.
Only four simple steps to extend original solution with your new entity and all the plumbing necessary for an API:
- add entity class,
- run T4 Powershell module to generate all layers' code,
- add new migration and update database and
- run all tests
Great time saver!
- Version 4.1 (Initial)
- Version 4.2 (Added a service API versioning library for Microsoft ASP.NET Core and Swagger versioning)
- Version 4.3 (Added CodeGeneratorUtility.bat to execute all T4s)
- Version 4.4 (Update to .NET Core 3.1 - LTS version )
- Version 4.5 (Automapper v.9.0 with DI)
- Version 4.6 (EF add migration fix)
For instructions and more about free and full-featured VSIX extension visit: www.anasoft.net/apincore
More extensions with more features:
Please give us your rating and ask for more features.
Note that there is no restriction to use, copy, modify, and distribute software created with this Visual Studio extension template.
Created solution using this template may contain code with unintentional flaws or limitations. Please adjust created solution to your needs and test it before any production use.
IN NO EVENT SHALL OWNER OF THIS EXTENSION BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE OWNER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.