C# 具有枚举参数的方法的Web API帮助页

C# 具有枚举参数的方法的Web API帮助页,c#,asp.net-mvc-4,enums,asp.net-web-api,asp.net-web-api-helppages,C#,Asp.net Mvc 4,Enums,Asp.net Web Api,Asp.net Web Api Helppages,我正在使用Web API帮助页面生成器生成API文档。但问题是帮助页面生成器无法为带有枚举参数的方法生成文档。对象和动态类型的参数也会出现这种情况 以下是我的方法: public HttpResponseMessage Get(Status status, DateTime? date = null) { ... } enum Status { Avaliable, Busy, Canceled, Failed, Sent } 以下是生成文档的

我正在使用Web API帮助页面生成器生成API文档。但问题是帮助页面生成器无法为带有枚举参数的方法生成文档。对象和动态类型的参数也会出现这种情况

以下是我的方法:

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月修复的一个bug。以下是与此相关的问题


我遇到了一个类似的问题,通过在
GetTypeName(Type类型)
方法中向XmlDocumentationProvider.cs添加以下代码,问题得到了解决

if(type.IsEnum)
{
返回类型。全名。替换(“+”,“);
}


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

RC(发布候选)今天已经发布。您可以尝试升级您的nuget软件包,以查看您的问题是否已解决。尚未运行。我已将所有AspNet软件包更新为可用版本4.0.30506.0。您在尝试更新软件包时是否选择了“预发布”?我将等待稳定版本。这对我来说很有效-我正在运行最新的nuget for Web API,并修复了我的问题。我没有看到描述b/c他们键入的名称不匹配(+vs.)。谢谢