作者:安南微 | 来源:互联网 | 2022-12-08 18:29
有没有办法在Swashbuckle/Swagger错误上获得堆栈跟踪或内部异常?在某些时候,它停止了工作.我不确定是不是在我从.Net Core 2.0升级到2.1时,但我很确定它在那之后仍在工作.当我导航到myapidomain/swagger/index.html时,我收到此错误:
哪个不是很有帮助.它工作了两周左右...我没有更改任何Swagger配置.它与以往一样:
public void ConfigureServices(IServiceCollection services)
{
...
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info
{
Version = "v1",
Title = "My.API",
Description = "Test"
});
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
app.UseDeveloperExceptionPage();
else
app.UseHsts();
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "PropWorx API V1");
});
...
}
我在ASP.Net Core 2.1 Web API上使用Swashbuckle.AspNetCore 3.0.0.
1> StuartLC..:
同意UI调试不是很有用,但是可以通过打开浏览器的调试工具(例如Chrome上的F12),刷新/swagger
端点,然后检查swagger.json
有效负载来删除完整的异常跟踪- 这是一个XHR请求,失败并显示500
状态代码.
(我建议你在一个大项目中为链接添加书签,这样以后你可以直接进入json文件,例如https://MyHost/swagger/v1/swagger.json
)
例如,在下面的设计错误中,我在两种方法之间重复了相同的路径:
[HttpGet]
[Route("parseenum")]
public ActionResult CheckEnum([FromQuery] MyEnum someEnum)
...
[HttpGet]
[Route("parseenum")]
public ActionResult CheckEnum2([FromQuery] MyEnum someEnum)
...
哪会产生错误:
您现在应该能够追踪并修复.