asp.net-core – 外部包中的模型显示在swagger文档中
发布时间:2020-12-16 04:24:23 所属栏目:asp.Net 来源:网络整理
导读:我正在研究swagger文档,并添加了一个外部包“NodaTime”,并在模型中用作我的属性的类型 public LocalDateTime Date {get;组; } NodaTime包中的模型和模型显示在文档中. 请看截图中的模型,突出显示的是NodaTime包. 为什么Swagger将其包含在文档中以及如何从文
我正在研究swagger文档,并添加了一个外部包“NodaTime”,并在模型中用作我的属性的类型
public LocalDateTime Date {get;组; } NodaTime包中的模型和模型显示在文档中. 请看截图中的模型,突出显示的是NodaTime包. 为什么Swagger将其包含在文档中以及如何从文档中排除外部包. 提前致谢. 解决方法
我猜他们正在出现,因为你正在暴露一个使用NodaTime类型的对象. Swashbuckle / Swagger正在显示整个对象图…如果模型使用这些模型,则无法关闭第三方的东西.如果你看看github上的
library中的代码,你可以看到Swashbuckle对几个基类库原语给出了特殊的处理.方法是CreatePrimitiveSchema(),LocalDateTime不在case语句中.因此,作为对此的修复,您可以分叉Swashbuckle并添加NodaTime类型.这可能不值得.
但是,Swashbuckle允许您关闭模型扩展.下面你可以看到我如何设置我的Swashbuckle配置.设置DefaultModelsExpandDepth(-1)将隐藏它们. public void Configure(IApplicationBuilder app,IHostingEnvironment env,DataGraphContext db) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseHsts(); } app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json","API V1"); c.DefaultModelExpandDepth(0); c.DefaultModelsExpandDepth(-1); }); app.UseAuthentication(); app.UseExceptionHandling(); app.UseCors("AllowSpecificOrigins"); app.UseHttpsRedirection(); app.UseMvc(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- [ASP.NET] 如果将缓存“滑动过期时间”设置为1秒会怎样?
- asp.net-mvc-3 – Ninject和OnePerRequestModule
- asp.net-mvc – ELMAH – MVC 3 – 403 – 禁止:访问被拒绝
- asp.net-mvc-3 – 将Mocked HttpPostedFileBase作为MVC 3控
- .net – 默认启用UnsafeHeaderParsing是否可以接受?
- 多线程和异步编程示例和实践-踩过的坑
- asp.net – PreRenderComplete和SaveState之间的时间差
- 谈谈Circuit Breaker在.NET Core中的简单应用
- 如何在ASP.Net Core 2.0应用程序中使用Bootstrap?
- asp.net-mvc – ASP.net MVC – 为一个用户/角色授权控制器