olp.ControllerGenerator
1.3.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package olp.ControllerGenerator --version 1.3.0
NuGet\Install-Package olp.ControllerGenerator -Version 1.3.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="olp.ControllerGenerator" Version="1.3.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="olp.ControllerGenerator" Version="1.3.0" />
<PackageReference Include="olp.ControllerGenerator" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add olp.ControllerGenerator --version 1.3.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: olp.ControllerGenerator, 1.3.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package olp.ControllerGenerator@1.3.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=olp.ControllerGenerator&version=1.3.0
#tool nuget:?package=olp.ControllerGenerator&version=1.3.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Installation
Install-Package olp.ControllerGenerator.Abstractions
Install-Package olp.ControllerGeneratoz.Data
--
<PackageReference Include="olp.ControllerGenerator.Data" Version="1.4.0" />
<PackageReference Include="olp.ControllerGenerator" Version="1.3.0" />
Usage
[AutoGen]
public interface IMyService
{
// Service methods
}
Example
using olp.ControllerGenerator.Data;
namespace TestWebApi.Shared
{
[AutoGen("api/test")]
[AutorizeGen]
public interface ITestService
{
[NoGen]
Task nogentest(object model, CancellationToken cancellationToken);
[GetGen("{id}/{name}")]
string GetTest2(int id, string name, int foo);
[GetGen($$"""{{nameof(GetTest)}}/{id}""")]
Task<List<object>> GetTest(int id, string name, CancellationToken cancellationToken);
Task PostTest(object model, CancellationToken cancellationToken);
Task<Dictionary<string, List<int>>> GetNestedData();
void test1();
object test2();
}
}
generated code:
// <auto-generated/>
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
using System.Collections.Generic;
namespace TestWebApi.Shared
{
[ApiController]
[Route("api/test")]
[Microsoft.AspNetCore.Authorization.Authorize][ProducesResponseType(StatusCodes.Status401Unauthorized)]
public class TestServiceController : ControllerBase
{
private readonly TestWebApi.Shared.ITestService _service;
public TestServiceController(TestWebApi.Shared.ITestService service)
{
_service = service;
}
[HttpGet("{id}/{name}")]
[ProducesResponseType<string>(StatusCodes.Status200OK)]
[ProducesResponseType<string>(StatusCodes.Status400BadRequest)]
public async Task<IActionResult> GetTest2Async(int id, string name, int foo)
{
try
{
var result = _service.GetTest2(id, name, foo);
return Ok(result);
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
}
[HttpGet("GetTest/{id}")]
[ProducesResponseType<List<object>>(StatusCodes.Status200OK)]
[ProducesResponseType<string>(StatusCodes.Status400BadRequest)]
public async Task<IActionResult> GetTestAsync(int id, string name, System.Threading.CancellationToken cancellationToken)
{
try
{
var result = await _service.GetTest(id, name, cancellationToken);
return Ok(result);
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
}
[HttpPost("PostTest")]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType<string>(StatusCodes.Status400BadRequest)]
public async Task<IActionResult> PostTestAsync(object model, System.Threading.CancellationToken cancellationToken)
{
try
{
await _service.PostTest(model, cancellationToken);
return Ok();
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
}
[HttpPost("GetNestedData")]
[ProducesResponseType<Dictionary<string, System.Collections.Generic.List<int>>>(StatusCodes.Status200OK)]
[ProducesResponseType<string>(StatusCodes.Status400BadRequest)]
public async Task<IActionResult> GetNestedDataAsync()
{
try
{
var result = await _service.GetNestedData();
return Ok(result);
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
}
[HttpPost("test1")]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType<string>(StatusCodes.Status400BadRequest)]
public async Task<IActionResult> test1Async()
{
try
{
_service.test1();
return Ok();
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
}
[HttpPost("test2")]
[ProducesResponseType<object>(StatusCodes.Status200OK)]
[ProducesResponseType<string>(StatusCodes.Status400BadRequest)]
public async Task<IActionResult> test2Async()
{
try
{
var result = _service.test2();
return Ok(result);
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
}
}
}
There are no supported framework assets in this package.
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Microsoft.CodeAnalysis.Common (>= 4.5.0)
- Microsoft.CodeAnalysis.CSharp (>= 4.5.0)
- olp.ControllerGenerator.Data (>= 1.4.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.