Bielu.AspNetCore.AsyncApi.Avro
2.0.0
Prefix Reserved
dotnet add package Bielu.AspNetCore.AsyncApi.Avro --version 2.0.0
NuGet\Install-Package Bielu.AspNetCore.AsyncApi.Avro -Version 2.0.0
<PackageReference Include="Bielu.AspNetCore.AsyncApi.Avro" Version="2.0.0" />
<PackageVersion Include="Bielu.AspNetCore.AsyncApi.Avro" Version="2.0.0" />
<PackageReference Include="Bielu.AspNetCore.AsyncApi.Avro" />
paket add Bielu.AspNetCore.AsyncApi.Avro --version 2.0.0
#r "nuget: Bielu.AspNetCore.AsyncApi.Avro, 2.0.0"
#:package Bielu.AspNetCore.AsyncApi.Avro@2.0.0
#addin nuget:?package=Bielu.AspNetCore.AsyncApi.Avro&version=2.0.0
#tool nuget:?package=Bielu.AspNetCore.AsyncApi.Avro&version=2.0.0
Bielu.AspNetCore.AsyncApi.Avro
Describes your AsyncAPI message payloads as Apache Avro
schemas, declared with schemaFormat: application/vnd.apache.avro;version=1.9.0, the way Kafka teams
using a schema registry expect them. The Avro schema is converted from the JSON Schema the generator
already produces, so it follows your .NET types without a second definition to keep in sync.
Installation
dotnet add package Bielu.AspNetCore.AsyncApi.Avro
Usage
builder.Services.AddAsyncApi(options => options
.AddServer("kafka", "broker:9092", "kafka")
.AddAvroPayloads(avro => avro
.WithNamespace("com.example.orders") // namespace of records and enums
.ForMessages("orderPlaced"))); // optional: only these messages
| JSON Schema | Avro |
|---|---|
| object with properties | record named after the schema |
| nullable / not required | union with null (defaulting to null when not required) |
| array, dictionary | array, map |
| string enum | enum |
integer (int32, otherwise) |
int, long |
number (float, otherwise) |
float, double |
uuid, date-time, date, time formats |
uuid, timestamp-millis, date, time-millis logical types |
byte format (byte[]) |
bytes |
The JSON Schema stays under components/schemas, and headers stay JSON Schema. The output validates
against the official AsyncAPI 2.6.0 and 3.1.0 schemas, including their Avro schema.
Documentation
Feedback & Contributing
Copyright (c) 2025 Arkadiusz Biel. Released under the MIT license. Bug reports and contributions are welcome at the GitHub repository.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Bielu.AspNetCore.AsyncApi (>= 2.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.0 | 85 | 10/25/2026 |
| 2.0.0-beta.20261025083222 | 53 | 10/25/2026 |
| 2.0.0-beta.20261025073559 | 48 | 10/25/2026 |
| 2.0.0-beta.20261024233532 | 51 | 10/24/2026 |
| 2.0.0-beta.20261024230848 | 55 | 10/24/2026 |
| 2.0.0-beta.20261024191358 | 53 | 10/24/2026 |
| 2.0.0-beta.20261024185247 | 55 | 10/24/2026 |