代码之家  ›  专栏  ›  技术社区  ›  Kris van der Mast

大摇大摆地集成到Bot框架4中

  •  1
  • Kris van der Mast  · 技术社区  · 6 年前

    我正在尝试将swagger/swashbucler集成到一个带有UI的项目中,该项目基于最新的botframeworkv4模板。不过,当我尝试导航到/swagger或/swagger/v1时,似乎只得到500个http状态代码/swagger.json.

    我想补充的是 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 回复  |  直到 6 年前
        1
  •  1
  •   Drew Marsh    6 年前

    问题是Swagger需要MVC特性才能工作,而且看起来你在为一个实际上不需要MVC的bot使用默认模板,所以添加它并不是为了避免特性带来的巨大开销。

    ConfigureServices :

    services.AddMvc();
    

    Configure UseXXX

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