6

我正在使用 Web API 帮助页面生成器生成我的 API 文档。但问题是帮助页面生成器无法为带有 Enum 参数的方法生成文档。这也发生在对象和动态类型的参数中。

这是我的方法:

public HttpResponseMessage Get(Status status, DateTime? date = null)
{
    ...
}

enum Status
{
    Avaliable,
    Busy,
    Canceled,
    Failed,
    Sent
}

这是生成文档:

GET api/StatusCheck?date={date}

但正确的形式是:

GET api/StatusCheck?status={status}&date={date}

当我转到 API 模型文档时,参数在那里,但没有描述。

就像这样:

GET api/StatusCheck?date={date}

Unavaliable.

Request
Parameters

Name            Description
status          Unavaliable.
date            Unavaliable.

这是帮助页面生成器中的错误吗?如何修复我的页面示例?

4

2 回答 2

3

我最后遇到了类似的问题,只需将以下代码添加到GetTypeName(Type type)方法内的 XmlDocumentationProvider.cs 即可解决。

if (type.IsEnum) { return type.FullName.Replace("+", "."); }

我的枚举都在一个大的枚举类下,问题是这个函数返回了在 Xml 文件中找不到的 Enums+MyEnum。当然,应该寻找的值是 Enums.MyEnum。

于 2013-12-20T22:46:23.993 回答
2

这实际上是今年 4 月修复的错误。以下是与此相关的问题。

http://aspnetwebstack.codeplex.com/workitem/312

于 2013-08-29T17:24:23.843 回答