我正在使用C#和WebAPI创建Rest API。我正在使用Swashbuckle向API和AutoRest添加Swagger UI以生成客户端。这一切都很好,直到我向我的模型引入多态/继承。 Swagger UI仅为基类创建定义,这导致我的AutoRest客户端在接口中只有基类型。
我的模型是否需要属性以允许Swashbuckle / Swagger识别派生类型?
答案 0 :(得分:7)
Swagger / OpenAPI
规范确实支持多态性。
SwashBuckle,如Swashbuckle versions feature comparision所述,动态生成Swagger文档,不支持版本 5.0 的多态性。
这里处理多态的唯一方法是在完全生成Swagger模型后使用IDocumentFilter
modify generated definitions的this.oModel = new sap.ui.model.odata.ODataModel(sURI,{
json : true,
user : "<username>",
password : "<password>",
useBatch : true
});
接口构建自己的代码。