asyncapi / dotnet-nats-template

.NET template for NATS
Apache License 2.0
18 stars 8 forks source link
asyncapi dotnet generator nats nodejs template

.NET C# NATS template

This is a .NET C# NATS template for the AsyncAPI generator

All Contributors

This template is for generating a .NET C# wrapper for the NATS client based on your AsyncAPI document. The template is based on the nats.net library.

Have you found a bug or have an idea for improvement? Feel free to contribute! See the contribution guidelines how to do so.

Example usage

Given any AsyncAPI file (AsyncAPI.yml) first generate the client with the AsyncAPI generator such as

ag --install --output ./nats-client ./AsyncAPI.yml @asyncapi/dotnet-nats-template

How to use

The generated output shall be seen a separate library (similar to any REST API client), that can be interacted with. It generates all the necessary functionality for you to easily interact with the NATS broker based on the AsyncAPI definition of the application.

Requirements

Install the generator through npm or run it from docker official installer.

Template configuration

You can configure this template by passing different parameters in the Generator CLI: -p PARAM1_NAME=PARAM1_VALUE -p PARAM2_NAME=PARAM2_VALUE

Name Description Required Default Allowed Values Example
version Version to use for the generated library. No 0.0.1 string 1.0.1
projectName Name of the generated library. No AsyncapiNatsClient string MyCustomName
repositoryUrl Repository url for the project file, often needed for release pipelines. No None string https://github.com/GamingAPI/rust-csharp-game-api.git
targetFramework Set the project target frameworks. Separate multiple by ;. No netstandard2.0;netstandard2.1 string net461
packageVersion PackageVersion to use for the generated library. No None string 1.0.1
assemblyVersion AssemblyVersion to use for the generated library. No None string 1.0.1.0
fileVersion FileVersion to use for the generated library. No None string 1.0.1.0
serializationLibrary Serialization library for the underlying models. No json newtonsoft or json (system.text.json)|newtonsoft`

Contributing

Before contributing please read the CONTRIBUTING document.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Jonas Lagoni

πŸ’» 🚧 πŸ’¬ πŸ€” πŸ“– πŸ›

Lukasz Gornicki

πŸ‘€

Yoeri Van Damme

πŸ’»

This project follows the all-contributors specification. Contributions of any kind welcome!