C# Web API 帮助文档 IHttpActionResult

C# Web API Help Documentation IHttpActionResult

我有一个 C# Web API,我正在尝试让自动创建的帮助文档与 IHttpActionResult 一起使用。我精简了下面的例子,这样更容易阅读。

对于对象,下面是一个简单的例子。 BusinessObject 只是一个包装器。 CollectionBase 是 CollectionBase : ObservableCollection<T>, ILoadable where 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);
    }

它无法识别它应该使用不同的 return 类型。 'Resource Description' 最终成为没有示例输出的 IHttpActionResult。现在我可以添加

config.SetActualResponseType(typeof(IEnumerable<Value>), "Values", "GetThis");

它会显示示例输出,但 'Resource Description' 仍然是 IHttpActionResult。这是我遇到的主要问题。我想使用 IHttpActionResult,因为它非常易于使用,并且可以很容易地在需要时使用 return 错误代码。我只想能够自动构建文档。

更新:经过进一步研究,我做得很好post。 Resource Description on Web API Help page is showing "None."

基本上,您将响应类型属性添加到方法中。

[ResponseType(typeof(IEnumerable<Value>))]
public IHttpActionResult GetThis()
{
    Values values = new Values();
    return Ok(values);
}

尽管这在技术上可行,而且我修改了现有代码以使用它。如果有一种方法可以让它以某种方式自动计算出来,那就太好了。不确定这是否可能。

这适用于我正在做的事情。每次都必须包含它有点乏味,但它允许我在必要时 return 错误代码并保留帮助文档功能。

[ResponseType(typeof(IEnumerable<Value>))]
public IHttpActionResult GetThis()
{
    Values values = new Values();
    return Ok(values);
}

Resource Description on Web API Help page is showing "None."