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:
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.