Generate NSwag Client from ASP.NET Core API

Job ID: 32918297

Budget: $30 – $250 USD

1:
Use NSwag Studio to generate API Client. Add generated client to ASP.NET Core library project.
Add generated NSwag.JSON to API project

2:
Using NSwag.MSBuild, create 'AfterBuild' step to re-generate client code.
Update of API needs to update API client project code, on build of API project.

API Project file requires something like this:

<ItemGroup>
<Content Remove="nswag.json" />
<None Include="nswag.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<Target Name="NSwag" BeforeTargets="AfterBuild" Condition="'$(TF_BUILD)'!='True'">
<Exec ConsoleToMSBuild="true" ContinueOnError="true" Command="$(NSwagExe_Net50) run nswag.json">
<Output TaskParameter="ExitCode" PropertyName="NSwagExitCode" />
<Output TaskParameter="ConsoleOutput" PropertyName="NSwagOutput" />
</Exec>

<Message Text="$(NSwagOutput)" Condition="'$(NSwagExitCode)' == '0'" Importance="low" />
<Error Text="$(NSwagOutput)" Condition="'$(NSwagExitCode)' != '0'" />
</Target>

References:
https://www.youtube.com/watch?v=lF9ZZ8p2Ciw

https://github.com/RicoSuter/NSwag/wiki/NSwagStudio
https://github.com/RicoSuter/NSwag
https://apimundo.com/organizations/nuget-org/nuget-feeds/public/packages/NSwag.MSBuild
Related categories: .NET Core Web API