如何解决将C#ASP.Net中的继承的接口文档导出到Swagger OAS3
如何导出继承接口的文档?
让我们假设两个带有注释的接口:
Startup
我在services.AddSwaggerGen(c =>
{
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory,xmlFile);
c.IncludeXmlComments(xmlPath);
});
类中配置了摇摇欲坠,如下所示:
B
我的REST Web方法始终返回类型为B
的对象。问题是创建的文档仅包含
security12 = security(currency12,"15",close)
security12a = security(currency12,"W",close[1])
的模式描述。模式概述以及示例值部分中缺少带有属性A 的信息接口A 。
解决方法
不是我所需要的,而是关闭。我已将 Swashbucke.AspNetCore 从v5.0.0更新到了v5.6.3,并使用了UseAllOfForInheritance()
方法到enable inheritance。
c.UseAllOfForInheritance();
c.SelectSubTypesUsing(t =>
{
if (t.IsInterface)
{
return t.GetInterfaces();
}
return Enumerable.Empty<Type>();
});
SelectSubTypeUsing
将为所有类型的接口解析所有接口。对于类型B
,返回数组[typeof(A),typeof(B)]
。最后,A
的架构将成为文档的一部分。
但是“示例值”仍然仅提及属性B 。我仍然想知道如何解决这个问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。