【问题标题】:WebAPI ApiExplorer Help page param Additional InformationWebAPI ApiExplorer 帮助页面参数 附加信息
【发布时间】:2013-10-18 17:35:15
【问题描述】:

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

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

  2. 我们如何在参数页面[Sample]上定义示例数据??
    例如,假设一个字符串值应该是“COME”或“GO”,我怎样才能在帮助页面上得到说明而不是获取它们的默认“字符串”值?

  3. 哪里是放置一些约束的正确位置,例如预期的 Headers values 或 API 将产生的可能的 Responses/Errors 以使其出现在帮助页面上?

【问题讨论】:

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


    【解决方案1】:

    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 摘要中。

    【讨论】:

    • 我一直在到处寻找 (3) 的答案,而您的建议是我在网络上唯一能找到的。这不是一个理想的解决方案,但在这一点上,我会接受它!
    猜你喜欢
    • 2014-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    • 1970-01-01
    相关资源
    最近更新 更多