我正在使用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.
这是帮助页面生成器中的BUG吗?如何修复页面示例?
答案 0 :(得分:4)
我在我的最后遇到了类似的问题,只需通过将以下代码添加到GetTypeName(Type type)
方法内的XmlDocumentationProvider.cs中即可解决。
if (type.IsEnum)
{
return type.FullName.Replace("+", ".");
}
我的枚举都在一个大的枚举类下,问题是这个函数返回了在Xml文件中找不到的Enums + MyEnum。当然,应该寻找的值是Enums.MyEnum。
答案 1 :(得分:3)
这实际上是一个在今年4月修复的错误。以下是与此相关的问题。