https://github.com/cezarypiatek/fridaysforks.asyncapi
Generate and serve AsyncAPI 3.0 documentation in your ASP.NET Core app
https://github.com/cezarypiatek/fridaysforks.asyncapi
Last synced: 6 months ago
JSON representation
Generate and serve AsyncAPI 3.0 documentation in your ASP.NET Core app
- Host: GitHub
- URL: https://github.com/cezarypiatek/fridaysforks.asyncapi
- Owner: cezarypiatek
- License: mit
- Created: 2025-03-21T19:00:54.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-04-29T18:39:52.000Z (6 months ago)
- Last Synced: 2025-04-30T15:38:56.721Z (6 months ago)
- Language: C#
- Size: 624 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FridaysForks.AsyncApi
Generate and serve [AsyncAPI 3.0](https://www.asyncapi.com/docs/reference/specification/v3.0.0) documentation in your ASP.NET Core application — similar to how Swagger/Swashbuckle works for REST APIs.
✅ Supports custom bindings (Kafka, AMQP, etc.)
✅ Supports multiple AsyncAPI documents
✅ Ships with built-in UI powered by [asyncapi-react](https://github.com/asyncapi/asyncapi-react)

---
## 🚀 Features
- Define AsyncAPI documents using C# POCO classes
- Serialize to JSON or YAML
- Serve specification documents over HTTP
- Visualize AsyncAPI specs in a browser with a customizable UI
- Register and expose multiple AsyncAPI specs
---
## 🧠 Usage
### Step 1: Provide your own implementation `IAsyncApiDocumentProvider` that is responsible for creating the AsyncAPI documents.
### Step 2: Register AsyncApi services and middleware in your `Program.cs` file.
```csharp
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddAsyncApiServices();
var app = builder.Build();
app.UseAsyncApi();
```
---
## 🌐 Endpoints
- `GET /asyncapi` – UI rendering of the document using standalone version of `@asyncapi/react-component`:
- `GET /asyncapi/{name}.json` – JSON version of the document
- `GET /asyncapi/{name}.yaml` – YAML version of the document
---