Swagger集成到Bot Framework 4中

时间:2019-01-14 11:55:27

标签: asp.net-core swagger botframework startup

我正在尝试将swagger / swashbuckler集成到一个项目中,并将UI集成到基于最新Bot Framework V4模板的项目中。但是,当我尝试导航到/ swagger或/swagger/v1/swagger.json时,似乎只有500个http状态代码。

我要添加的内容在ConfigureServices中:

services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
});

Configure中的

loggerFactory = loggerFactory;

        app.UseDefaultFiles()
            .UseStaticFiles()
            .UseBotFramework();

        app.UseSwagger()
            .UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
            });

我还尝试将UseSwagger部件放在其他部件之前,但随后该机器人也无法正常工作。端点可能由不同的部分产生冲突,但是我真的很想让那张大胆的部分起作用。

1 个答案:

答案 0 :(得分:1)

问题是Swagger需要MVC功能才能工作,并且看起来您是在为机器人使用默认模板,而实际上并不需要MVC,因此未添加它以避免避免该功能带来的大量开销。 / p>

因此,您需要在ConfigureServices中添加以下内容:

services.AddMvc();

然后将以下内容发送到Configure。注意:UseXXX调用的顺序很重要,但是您现在执行的顺序很好,我可以这样做:

app.UseDefaultFiles()
    .UseStaticFiles()
    .UseBotFramework()
    .UseMvc()
    .UseSwagger()
    .UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
    });