首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何生成SignalR接口文档

如何生成SignalR接口文档
EN

Stack Overflow用户
提问于 2015-03-10 01:47:15
回答 3查看 6.3K关注 0票数 34

有没有办法做到这一点?

我用虚张声势为我的其他API生成内容,但我不相信它能在SignalR上工作。

EN

回答 3

Stack Overflow用户

发布于 2021-06-17 22:28:44

这是一个可以帮助你的Nuget包。

Nuget链接:https://www.nuget.org/packages/SignalRSwaggerGen/

Github链接:https://github.com/Dorin-Mocan/SignalRSwaggerGen/wiki

首先,您需要使用SignalRSwaggerGen.Attributes名称空间中的属性来装饰您的SignalR集线器:

代码语言:javascript
复制
[SignalRHub(path: "/hubs/SomeHub")]
public class SomeHub : Hub
{
    [SignalRMethod(name: "nameOfTheMethodCalledOnTheClientSide", operationType: OperationType.Put)] 
    public async Task SomeMethod([SignalRArg] int arg1, [SignalRArg] object arg2, CancellationToken cancellationToken = default)
    {
        if (Clients == null) return;
        await Clients.All.SendAsync("nameOfTheMethodCalledOnTheClientSide", arg1, arg2, cancellationToken);
    }
}

然后添加SignalRSwaggerGen.SignalRSwaggerGen类作为Swagger生成器的文档筛选器:

代码语言:javascript
复制
services.AddSwaggerGen(options =>
{
    options.SwaggerDoc("v1", new OpenApiInfo { Title = "Some API v1", Version = "v1" });
    // here some other configurations maybe...
    options.DocumentFilter<SignalRSwaggerGen.SignalRSwaggerGen>(new List<Assembly> { typeof(SomeHub).Assembly, typeof(SomeHubFromAnotherAssembly).Assembly });
});

有关更多信息,请参阅Github文档。

票数 8
EN

Stack Overflow用户

发布于 2019-11-21 21:23:56

正如评论所建议的,我成功地使用了SigSpec来达到这个目的。

我不得不稍微修修补补,但它确实起到了作用。

票数 3
EN

Stack Overflow用户

发布于 2018-02-09 22:22:07

假设您使用的是Asp.NET核心,那么可以在启动时注入自定义文档。

在你的Startup.ConfigureServices中,你应该已经有了一个Swagger部分:

代码语言:javascript
复制
services.AddSwaggerGen(c =>
{
    ...
})

只需将自定义XML文件添加到Swagger文档:

代码语言:javascript
复制
services.AddSwaggerGen(c =>
{
    c.IncludeXmlComments("custom_doc.xml");
})

其中custom_doc.xml是标准的C# XML文档文件。

票数 -4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28948517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档