我对ASP.NET Web API帮助页面有疑问。ASP.NET Web API帮助页面无法处理通用类型控制器
通常HelpPages可以生成由XMLDocumentation 示例代码的WebAPI:
public class ValueControllerBase : ApiController
{
/// <summary>
/// Base Do
/// </summary>
public IEnumerable<string> Do()
{
return new string[] { "value1", "value2" };
}
}
public class ValuesController : ValueControllerBase
{
/// <summary>
/// Testing API
/// </summary>
public string Get(int id)
{
return "value";
}
}
这可以顺利产生,就像这样:
API
GET api/Values/Get/{id}
Description
Testing API
API
POST api/Values/Do
Description
Base Do
,但如果我使用一个通用的基础控制器,它不会生成API文档。
样品:
public class ValueControllerBase<T> : ApiController
{
/// <summary>
/// Base Do
/// </summary>
public IEnumerable<string> Do()
{
return new string[] { "value1", "value2" };
}
}
public class ValuesController<String> : ValueControllerBase
{
/// <summary>
/// Testing API
/// </summary>
public string Get(int id)
{
return "value";
}
}
如果我在第二部分中使用代码,HelpPages可以生成API文档,但不会产生API注释。我的两个例子之间的区别只是第二节代码使用泛型类型。
API
GET api/Values/Get/{id}
Description
Testing API
API
POST api/Values/Do
Description
null
在该方法Do()
,注释不显示与第一
相比是否有任何解决方案来解决这些问题?
另一方面,这打破了获取具有可为空参数的方法的文档。 –
@MotlicekPetr我有这个实现,但我没有看到它打破空可参数文档。你有一个例子吗? –