我有一个C#Web API,我试图获得自动创建的帮助文档以使用IHttpActionResult.我删除了下面的例子,以便它更容易阅读.
对于对象,下面是一个简单的例子. BusinessObject只是一个包装. CollectionBase是CollectionBase:ObservableCollection< T>,ILoadable其中T:BusinessObject.它是一个旧的代码库,它是自动生成的,但重用它.
public class Value : BusinessObject { public int Id { get; set; } } public class Values : CollectionBase<Value> { public override Value LoadObject(System.Data.IDataRecord record) { return new Value(); } }
对于API方面的事情以下作品.
public class Values : ApiController { public IEnumerable<Value> GetThis() { Values values = new Values(); return values; } }
当我尝试做的时候出现问题
public IHttpActionResult GetThis() { Values values = new Values(); return Ok(values); }
它不会识别它应该使用不同的返回类型. ‘资源描述’最终是IHttpActionResult,没有样本输出.现在我可以补充
config.SetActualResponseType(typeof(IEnumerable<Value>),"Values","GetThis");
它将显示示例输出,但“资源描述”仍将是IHttpActionResult.这是我遇到的主要问题.我想使用IHttpActionResult,因为它很容易使用,如果需要,可以很容易地返回错误代码.我只想自动构建文档.
更新:进一步的研究,我没有罚款这个职位.
Resource Description on Web API Help page is showing “None.”
[ResponseType(typeof(IEnumerable<Value>))] public IHttpActionResult GetThis() { Values values = new Values(); return Ok(values); }
解决方法
这适用于我正在做的事情.它有点乏味,必须包含每一次,但它允许我返回错误代码,并保留帮助文档功能.
[ResponseType(typeof(IEnumerable<Value>))] public IHttpActionResult GetThis() { Values values = new Values(); return Ok(values); }
Resource Description on Web API Help page is showing “None.”