SwaggerUI和Swashbuckle识别多态/派生类型

时间:2016-09-15 13:30:41

标签: c# asp.net-web-api swagger-ui swashbuckle

我正在使用C#和WebAPI创建Rest API。我正在使用Swashbuckle向API和AutoRest添加Swagger UI以生成客户端。这一切都很好,直到我向我的模型引入多态/继承。 Swagger UI仅为基类创建定义,这导致我的AutoRest客户端在接口中只有基类型。

我的模型是否需要属性以允许Swashbuckle / Swagger识别派生类型?

1 个答案:

答案 0 :(得分:7)

Swagger / OpenAPI规范确实支持多态性。

SwashBuckle,如Swashbuckle versions feature comparision所述,动态生成Swagger文档,不支持版本 5.0 的多态性。

这里处理多态的唯一方法是在完全生成Swagger模型后使用IDocumentFilter modify generated definitionsthis.oModel = new sap.ui.model.odata.ODataModel(sURI,{ json : true, user : "<username>", password : "<password>", useBatch : true }); 接口构建自己的代码。