WebAPI ApiExplorer帮助页面参数附加信息

时间:2013-10-18 17:35:16

标签: c# asp.net-mvc asp.net-web-api asp.net-mvc-apiexplorer asp.net-web-api-helppages

我正在使用MVC4 WebAPI并且有一些问题;

  1. 我们如何定义参数页面的“内容”[附加信息]? 默认情况下,此状态为“在请求正文中定义此参数”??

  2. 我们如何在“参数”页面[样本]上定义样本数据? 例如,假设一个字符串值应该是“COME”或“GO”,如何在帮助页面上获得该值而不是获取其默认值“字符串”值?

  3. 在哪里放置一些限制,例如预期的标头值或可能出现的响应/错误,以便它会出现在帮助页面上?

1 个答案:

答案 0 :(得分:2)

1)您可以通过在XML标记中指定参数来为参数指定注释。例如:

/// <summary>
///     Put your comments about / description of this API call.
/// </summary>
/// <param name="myParameter">
///     Put your comments about / description of this parameter here.
/// </param>
[Route("")]
public HttpResponseMessage Get(int my Parameter)
{
    // Code for your action
}

如果您的参数是复杂类型,并且您需要有关该复杂类型属性的文档,则发布的版本目前不支持此参数。但是,它适用于夜间构建版本,可在此处找到:https://aspnetwebstack.codeplex.com/wikipage?title=Use%20Nightly%20Builds

2)您可以按照此处的说明指定您自己的样本数据:http://blogs.msdn.com/b/yaohuang1/archive/2012/10/13/asp-net-web-api-help-page-part-2-providing-custom-samples-on-the-help-page.aspx

3)我认为这取决于这是全局的,每个控制器还是每个动作。如果它是全局的,您可以将它放在HelpPage区域的Index.cshtml页面上的标题下面,并声明它适用于所有api调用。如果是每个控制器或每个操作,我会将其放在该控制器或操作的XML摘要中。