这是我的第一个网络API,第一个网络应用程序,并且我第一次使用swagbuckler swagger。
我在设备数据库表中使用了TPH
例如,我有一个基类,称为设备,有几个继承自设备的子类。 (这不是真正的代码,所以我没有把所有的公众等等)
正如我所期望的那样,当我在浏览器中运行swagger时的模型描述,只返回设备类的模型
我已经搜索了如何显示所有可能的模型,但无法理解回复,因为它们与c#或api控制器没有关联,使用文档注释,或者它们是为那些为比我更了解这一点
是否有人能够发布一个例子,或者请指向一个初学者教程,关于如何让swagger显示所有可能的模型。我必须编写几个不同的api调用来解决这个问题,这样才能显示出模型
感谢
class equipment
{
public int id{get;set;}
public int foo{get;set;}
public int bar{get;set;}
}
class bucket : equipment
{
public int booboo{get;set;}
}
class mop : equipment
{
public int lala{get;set;}
}
// equipmentcontroller class get function
/// <summary>
/// Returns a piece of equipment.<br/>
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[Route(@"{id:int}"), ResponseType(typeof(equipment))]
public IHttpActionResult GetMop(int id)
{
return result != null ? (IHttpActionResult)Ok(GetMop[id]) : NotFound();
}
答案 0 :(得分:1)
你所建议的是不可能的。在Swagger中,操作响应的定义基本上是将不同HTTP状态代码映射到特定响应对象。 (看看http://swagger.io/specification/#responsesObject)
您无法表示操作的200 OK可以返回表示拖把的响应或表示存储桶的响应。
你提到&#34;我必须编写几个不同的api调用来解决这个问题,这样才能显示模型。&#34;,这是我对RESTful的期望API。不同类型的资源由不同的端点处理。