Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vahidn/apiurlsgenerator
This library will help you to convert your `stringly typed` API URL's to strongly typed ones
https://github.com/vahidn/apiurlsgenerator
asp-net-core aspnetcore blazor blazor-webassembly
Last synced: about 1 month ago
JSON representation
This library will help you to convert your `stringly typed` API URL's to strongly typed ones
- Host: GitHub
- URL: https://github.com/vahidn/apiurlsgenerator
- Owner: VahidN
- License: apache-2.0
- Created: 2022-10-18T09:38:27.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-08-10T10:54:57.000Z (over 1 year ago)
- Last Synced: 2024-11-01T19:33:04.917Z (2 months ago)
- Topics: asp-net-core, aspnetcore, blazor, blazor-webassembly
- Language: C#
- Homepage:
- Size: 203 KB
- Stars: 10
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README
# API URL's Generator
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](https://img.shields.io/nuget/v/ApiUrlsGenerator)](http://www.nuget.org/packages/ApiUrlsGenerator/)
```Console
dotnet add package ApiUrlsGenerator
```Then add its services to your services registration pipeline:
```C#
#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:```C#
var secretUrl = "api/WeatherForecast/_secretUrl";
```You can replace it with a compiler/refactoring friendly version:
```C#
var secretUrl = ApiUrls.WeatherForecast.HttpGet.SecretUrl;
```Here you can find a [sample controller](tests/ApiUrlsGenerator.HostedBlazorWasm/Server/Controllers/WeatherForecastController.cs) and [another one](tests/ApiUrlsGenerator.HostedBlazorWasm/Server/Areas/Test/Controllers/WeatherForecastController.cs) in a new area, with the generated [ApiUrls.cs](tests/ApiUrlsGenerator.HostedBlazorWasm/Shared/ApiUrls.cs) file.