我正在尝试将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部件放在其他部件之前,但随后该机器人也无法正常工作。端点可能由不同的部分产生冲突,但是我真的很想让那张大胆的部分起作用。
答案 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");
});