Skip to content
This repository has been archived by the owner on Oct 2, 2024. It is now read-only.

asyncapi/dotnet-nats-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

  • @asyncapi/generator < v2.0.0 >v1.1.1

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!