在这篇文章中

  1. 创建API帮助页面
  2. 将帮助页面添加到现有项目
  3. 添加API文档
  4. 在敞篷下
  5. 下一步

作者:Mike Wasson

创建Web API时,创建帮助页面通常很有用,以便其他开发人员知道如何调用API。您可以手动创建所有文档,但最好尽可能自动生成。

为了简化此任务,ASP.NET Web API提供了一个用于在运行时自动生成帮助页面的库。

创建API帮助页面

安装ASP.NET和Web Tools 2012.2更新。此更新将帮助页面集成到Web API项目模板中。

接下来,创建一个新的ASP.NET MVC 4项目并选择Web API项目模板。项目模板创建一个名为API的例子ValuesController。该模板还创建API帮助页面。帮助页面的所有代码文件都放在项目的区域文件夹中。

运行应用程序时,主页包含指向API帮助页面的链接。在主页上,相对路径为/ Help。

此链接将带您进入API摘要页面。

该页面的MVC视图在Areas / HelpPage / Views / Help / Index.cshtml中定义。您可以编辑此页面来修改布局,介绍,标题,样式等。

页面的主要部分是由控制器分组的API表格。使用IApiExplorer接口动态生成表条目。(稍后我会再谈谈这个界面。)如果添加了一个新的API控制器,表将在运行时自动更新。

“API”列列出了HTTP方法和相对URI。“说明”列包含每个API的文档。最初,文档只是占位符文本。在下一节中,我将介绍如何从XML注释中添加文档。

每个API都有一个包含更详细信息的页面的链接,包括示例请求和响应实体。

将帮助页面添加到现有项目

您可以使用NuGet软件包管理器将帮助页面添加到现有的Web API项目。从“Web API”模板的不同项目模板开始,此选项很有用。

从工具菜单中,选择库包管理器,然后选择包管理器控制台。在“ 管理器管理器”窗口中,键入以下命令之一:

对于C#应用程序:Install-Package Microsoft.AspNet.WebApi.HelpPage

对于Visual Basic应用程序:Install-Package Microsoft.AspNet.WebApi.HelpPage.VB

有两个包,一个用于C#,一个用于Visual Basic。确保使用与您的项目匹配的。

此命令安装必要的程序集,并为帮助页面(位于Areas / HelpPage文件夹中)添加MVC视图。您需要手动添加一个链接到帮助页面。URI是/ Help。要在剃刀视图中创建链接,请添加以下内容:

CSHTML复制
@Html.ActionLink("API", "Index", "Help", new { area = "" }, null) 

另外,请务必注册区域。在Global.asax文件中,将以下代码添加到Application_Start方法中(如果还没有):

C#复制
protected void Application_Start() { // Add this code, if not present.  AreaRegistration.RegisterAllAreas(); // ... } 

添加API文档

默认情况下,帮助页面具有用于文档的占位符字符串。您可以使用XML文档注释来创建文档。要启用此功能,请打开文件区域/ HelpPage / App_Start / HelpPageConfig.cs并取消注释以下行:

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

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

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

接下来,打开ValuesControllerAPI控制器的代码,该控件在/Controllers/ValuesControler.cs中定义。向控制器方法添加一些文档注释。例如:

C#复制
/// <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"; } 
注意

提示:如果将插入符号放置在方法上方,并键入三个正斜杠,Visual Studio将自动插入XML元素。然后你可以填写空白。

现在再次构建和运行应用程序,并导航到帮助页面。文档字符串应显示在API表中。

帮助页面在运行时从XML文件读取字符串。(部署应用程序时,请确保部署XML文件。)

在敞篷下

帮助页面建立在ApiExplorer类之上,该类是Web API框架的一部分。该ApiExplorer类提供的原料,用于创建一个帮助页面。对于每个API,ApiExplorer包含一个描述API 的ApiDescription。为此,将“API”定义为HTTP方法和相对URI的组合。例如,这里有一些不同的API:

  • GET / api /产品
  • GET / api / Products / {id}
  • POST / api /产品

如果控制器操作支持多种HTTP方法,则ApiExplorer将每个方法视为不同的API。

要从ApiExplorer中隐藏API ,请将ApiExplorerSettings属性添加到操作中,并将IgnoreApi设置为true。

C#复制
[ApiExplorerSettings(IgnoreApi=true)]
public HttpResponseMessage Get(int id) { } 

您也可以将此属性添加到控制器,以排除整个控制器。

ApiExplorer类从IDocumentationProvider接口获取文档字符串。如前所述,帮助页面库提供了一个IDocumentationProvider,它从XML文档字符串中获取文档。代码位于/Areas/HelpPage/XmlDocumentationProvider.cs中。您可以通过编写自己的IDocumentationProvider从其他来源获取文档。要连接它,调用SetDocumentationProvider扩展方法,在HelpPageConfigurationExtensions中定义

ApiExplorer自动调用IDocumentationProvider接口获取每个API的文档字符串。它将它们存储在ApiDescription和ApiParameterDescription对象的Documentation属性中。

转载于:https://www.cnblogs.com/X-Jonney/p/7680063.html

Web API 2 入门——创建ASP.NET Web API的帮助页面(谷歌翻译)相关推荐

  1. VS2008 Tips #008 如何创建ASP.NET Web 用户控件并包含在Web 页面中

    在 Visual Web Developer 中创建 ASP.NET Web 用户控件就像 ASP.NET Page 页面一样简单. 以下是创建步骤: 1.打开您想添加用户控件的站点. 2.右键点击站 ...

  2. 在 Visual Studio 2010 中创建 ASP.Net Web Service

    第一步:创建一个"ASP.Net Empty Web Application"项目 第二步:在项目中添加"Web Service"新项目 第一步之后,Visua ...

  3. 在Visual Studio 2019中创建ASP.NET Web项目

    一.打开Visual Studio 2019 选择创建新项目 创建后的页面如图所示 二.设计一个网页 右击新建项目,选择 添加 | 新建 2.源代码和设计模式 后缀说明 后缀为 ".aspx ...

  4. 创建ASP.NET WEB自定义控件——例程2

    本文通过一段完整的代码向读者介绍复合自定义控件的制作,包括:自定义属性.事件处理.控件间数据传递等方面的技术. 作者在http://damao.0538.org有一些控件和代码,并在更新中,有兴趣的读 ...

  5. 在 Visual Studio 2010 中创建 ASP.NET Web 项目

    运行Visual  Studio 2010 1.在文件下拉项中-->新建-->网站 2.在  "已安装的模板"  中选择模板  "Visual C#" ...

  6. 【ASP.NET Web】项目实践—网上宠物店2:创建ASP.NET Web 网站项目、连接数据库

    1.创建网站 打开VS软件(项目当中使用的软件版本是 VS2012 ) ,依次点击 [文件]→[新建]→[项目],在弹出的"新建项目" 窗口中,新建一个 ASSP.NET 空 We ...

  7. 【ASP.NET Web API教程】2 创建各种Web API

    原文 [ASP.NET Web API教程]2 创建各种Web API Chapter 2: Creating Web APIs 第2章 创建各种Web API 本文引自:http://www.asp ...

  8. ASP.NET Web API入门介绍(一)

    随着项目的复杂度越来越高,各种第三方系统的数据交互也越来越频繁,不可避免的就要用到Web API接口,这里Web API是一个比较宽泛的概念.本文提到Web API特指ASP.NET Web API. ...

  9. 【Web API系列教程】1.3 — 实战:用ASP.NET Web API和Angular.js创建单页面应用程序(上)

    前言 在传统的web应用程序中,客户端(浏览器)通过请求页面来启动与服务器的通信.然后服务器处理该请求,并发送HTML页面到客户端.在随后页面上的操作中--例如,用户导航到一个链接或提交一个包含数据的 ...

最新文章

  1. spring mvc文件上传小例子
  2. 弹出框插件layer使用
  3. python小项目推荐项目-Python 的练手项目有哪些值得推荐?
  4. 关于MySQL线程池,这也许是目前最全面的实用帖!(转载)
  5. VTK:柏林噪声用法实战
  6. php中rsa加密及解密和签名及验签
  7. java jtextarea 滚动条_java 在JTextArea中显示 滚动条
  8. java 获取文件所在的文件夹_带你0基础编写一个Java小程序,领略Java程序从编写到编译再到运行的全流程...
  9. 超文本标记语言HTML
  10. redis的数据持久化方案
  11. ios显示gif格式图片
  12. 福州大学 Problem 2169 shadow
  13. 没有IDEA与Eclipse,该怎么学Java?
  14. 傲腾内存不支持linux吗,内存英特尔® 傲腾™常见问题
  15. java飞机大战强化版_java飞机大战升级版源码(全彩,背景音乐,各种音效,不同僚机,子弹特效以及技能系统)...
  16. ubuntu系统重装恢复步骤
  17. 个人信用报告,有这五种方式可查!
  18. 《东周列国志》第八十七回 说秦君卫鞅变法 辞鬼谷孙膑下山
  19. web服务器性能测试---服务器性能测试实例
  20. Python-ppt增加图片

热门文章

  1. Java元数据总结:Java注释的使用和定义
  2. js生成验证码并且验证
  3. 原 Linux搭建SVN 服务器2
  4. ubuntu下数据库的导入导出
  5. 【linux】学习6
  6. 每日英文2013.06.19
  7. Linux的proc文件系统详解
  8. Overview of ISA and TMG Networking and ISA Networking Case Study (Part 2)
  9. 如何培养编程所需要的逻辑思维?
  10. java开发计算机考试服务器_2011计算机二级JAVA编程:取得服务器当前的各种具体时间...