SignalRSwaggerGen,为 SignalR 中心生成 Swagger 文档
Github:https://github.com/essencebit/SignalRSwaggerGen
添加包:
dotnet add package SignalRSwaggerGen --version 4.9.0
services.AddSwaggerGen(options =>
{
options.AddSignalRSwaggerGen(ssgOptions => ssgOptions.ScanAssemblies(typeof(MyHub).Assembly));
options.SwaggerDoc("v1", new OpenApiInfo
{
Version = "v1",
Title = "AM.MC API"
});
});
services.AddSignalR().AddHubOptions<SomeHub>().AddHubOptions<SomeStronglyTypedHub>();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
app.MapHub<SomeHub>("/Some");
app.MapHub<SomeStronglyTypedHub >("/SomeStronglyTyped");
});
[SignalRHub]
public class SomeHub : Hub
{
public async Task Send(int arg1, string arg2, [SignalRHidden] CancellationToken ct = default)
{
await Clients.All.SendAsync("Receive", arg1, arg2, ct);
}
}
[SignalRHub]
public interface ISomeStronglyTypedHub
{
Task Receive(int arg1, string arg2);
}
public class SomeStronglyTypedHub : Hub<ISomeStronglyTypedHub>
{
public async Task Send(int arg1, string arg2)
{
await Clients.All.Receive(arg1, arg2);
}
}
