/ApiUrlsGenerator

This library will help you to convert your `stringly typed` API URL's to strongly typed ones

Primary LanguageC#Apache License 2.0Apache-2.0

API URL's Generator

GitHub Actions status

This library will help you to convert your stringly typed API URL's to strongly typed ones.

To use it, first add its package to your ASP.NET Core Web-API application:

Nuget

dotnet add package ApiUrlsGenerator

Then add its services to your services registration pipeline:

#if DEBUG
builder.Services.AddApiUrlsGenerator(options =>
                                     {
                                         options.OutputFolder = @"..\Shared";
                                         options.OutputFileName = "ApiUrls.cs";
                                         options.DefaultNamespace = "StronglyTypedApiUrls";
                                     });
#endif

With the above settings, a new OutputFileName file will be created in the OutputFolder and this new class has the specified DefaultNamespace namespace. Note: if the OutputFolder doesn't exist, nothing will happen.

After adding the above settings, run the application to create the ApiUrls.cs file. Note: After each changes to the route definitions of your action methods, you should run the application to update ApiUrls.cs file automatically. Now instead of writing a URL like:

var secretUrl = "api/WeatherForecast/_secretUrl";

You can replace it with a compiler/refactoring friendly version:

var secretUrl = ApiUrls.WeatherForecast.HttpGet.SecretUrl;

Here you can find a sample controller and another one in a new area, with the generated ApiUrls.cs file.