【问题标题】:WebApi Help Page DescriptionWebApi 帮助页面说明
【发布时间】:2014-08-08 16:21:54
【问题描述】:

帮助页面和介绍段落上的Webapi 方法描述是什么?

【问题讨论】:

    标签: asp.net-mvc asp.net-web-api


    【解决方案1】:

    要查看说明,您需要按照以下步骤操作:

    1. 客户控制器中的每个操作都必须有一个XML文档
    2. 打开包含您的控制器的项目的属性并启用 XML 文档,如下所示:
    3. HelpPageConfig 类(Areas/HelpPage/App_Start/HelpPageConfig.cs)的 Register 方法中取消注释第 19 行,不要忘记更改文件路径,例如这个:

      config.SetDocumentationProvider(new XmlDocumentationProvider(
          HttpContext.Current.Server.MapPath("~/App_Data/MvcApplication4.XML"))
      );
      

    这是你必须做的。 最后一件事是将在 App_Data 中创建的文件包含在您的项目中,以便将文件部署到生产环境中。

    【讨论】:

    • 请注意,每次重新构建解决方案时都会自动构建/更新 XML 文件。 nznoor 示例中显示的 cmets 会自动为文档 cmets 提取并用作说明
    【解决方案2】:

    根据这个article,您可以使用 XML 文档 cmets 来创建文档。要启用此功能,请打开文件 Areas/HelpPage/App_Start/HelpPageConfig.cs 并取消注释以下行:

    config.SetDocumentationProvider(new XmlDocumentationProvider(
        HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml")));
    

    现在启用 XML 文档。在解决方案资源管理器中,右键单击项目并选择属性。选择构建页面。

    在输出下,检查 XML 文档文件。在编辑框中,输入“App_Data/XmlDocument.xml”。

    将一些文档 cmets 添加到控制器方法中。例如:

    /// <summary>
    /// Gets some very important data from the server.
    /// </summary>
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2" };
    }
    
    /// <summary>
    /// Looks up some data by ID.
    /// </summary>
    /// <param name="id">The ID of the data.</param>
    public string Get(int id)
    {
        return "value";
    }
    

    【讨论】:

    • 对我 (VS2013) 来说,还有更多工作要做。 1.) 输出下的文档文件的路径必须带有反斜杠,而不是普通斜杠。 2.) 在解决方案资源管理器中,我必须将 XmlDocument.xml 添加到项目中(首先切换“查看全部”按钮)并将文件的“复制到输出目录”属性设置为“如果较新则复制”(请参阅CodeNotFounds 答案)
    • 正确。如果您想从帮助文档中省略 ApiController,则此属性开箱即用 - [ApiExplorerSettings(IgnoreApi = true)]。
    【解决方案3】:

    对于那些使用 VB.NET 的人来说,你似乎必须做一些不同的事情。

    您必须转到 Web API 项目的“编译”选项卡(没有“构建”选项卡),然后确保“生成 XML 文档文件”复选框处于选中状态检查。

    输出实际上放在 /bin/{projectName}.xml 中,所以现在您必须更改 SetDocumentationProvider 调用以指向路径“~/bin/{ projectname}.xml”(显然,将 {projectname} 替换为您的实际项目名称)。

    这看起来很臭,所以如果有人找到不同的方法,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-28
      相关资源
      最近更新 更多