Web API 配置Help Page
当你创建一个web API,它通常用于创建一个帮助页面,以便其他开发人员知道如何调用你的API。你可以手动创建所有的文档,但最好是autogenerate尽可能多。
简化这个任务,ASP.Web API提供了一个库在运行时可以自动生成帮助页面。

创建API Help Pages
安装ASP.NET and Web Tools 2012.2 Update。此更新将帮助页面集成到Web API项目模板。
接下来,创建一个新的ASP.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与性的链接页面的详细信息,包括示例请求和响应。

Adding Help Pages to an Existing Project
可以帮助页面添加到现有的Web API项目通过使用NuGet包管理器。这个选项是有用的你开始从一个不同的项目模板比“Web API”模板。
从工具菜单中,选择库软件包管理器,然后选择包管理器控制台。在包管理器控制台窗口中,键入以下命令之一:
c#应用程序:安装包Microsoft.AspNet.WebApi.HelpPage
Visual Basic应用程序:安装包Microsoft.AspNet.WebApi.HelpPage.VB
有两个包,一个c#和Visual Basic。确保使用一个匹配您的项目。
这个命令安装必要的程序集和添加了MVC视图帮助页面(位于区域/ HelpPage文件夹)。你需要手动添加一个链接到帮助页面。URI /帮助。创建一个链接在razor视图,添加以下:
@Html.ActionLink("API", "Index", "Help", new { area = "" }, null)
添加代码Application_Start 方法:
protected void Application_Start()
{
// Add this code, if not present.
AreaRegistration.RegisterAllAreas();
// ...
}
Adding API Documentation
默认情况下,帮助文档页面占位符的字符串。您可以使用XML文档注释创建文档。要启用这个特性,打开文件 Areas/HelpPage/App_Start/HelpPageConfig.cs和取消注释以下行:
config.SetDocumentationProvider(new XmlDocumentationProvider(
HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml")));
现在启用XML文档。在解决方案资源管理器中,右键单击项目并选择Properties。选择构建页面。

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

在 /Controllers/ValuesControler.cs,添加注释
/// <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";
}

帮助页面在运行时从XML文件中读取的字符串。(在部署应用程序时,请确保部署的XML文件)。
Web API 配置Help Page的更多相关文章
- Asp.net Web Api开发Help Page配置和扩展
为了方面APP开发人员,服务端的接口都应当提供详尽的API说明.但每次有修改,既要维护代码,又要维护文档,一旦开发进度紧张,很容易导致代码与文档不一致. Web API有一个Help Page插件,可 ...
- Web API配置自定义路由
默认访问Web API时,是无需指定method名.它会按照默认的路由来访问.如果你的Web API中出现有方法重载时,也许得配置自定义路由: 标记1为自定义路由,标记2为默认路由,需要把自定义路由排 ...
- ASP.NET Web API 配置返回的json字段的格式以及Action返回HttpResponseMessage类型和IHttpActionResult类型
1. 对于返回的Json对象格式是以“帕斯卡”风格的(例如“FirstName”),然而我们的Api有很大的可能被带有Javascript的客户端消费,对于JS开发者来说可能更适合“驼峰”风格(例如” ...
- Web api配置填坑攻略
最近开始使用web api,开发调试过程还算顺利,现在项目已经发布,网站已经部署,结果浏览过程出现问题(不出问题好像不正常吧……),做个note开始填坑. 1.1号坑 咋一开始就爆出另一个程序正在使用 ...
- WCF WEB API配置
Web.config配置 <system.serviceModel> <services> <service name="WCFServiceWebRole2. ...
- 创建 ASP.NET Web API的Help Page
转:创建WEBAPI项目 转:添加测试API中的ASP.NET Web API帮助页面
- Asp.net Web Api开发Help Page 添加对数据模型生成注释的配置和扩展
在使用webapi框架进行接口开发的时候,编写文档会需要与接口同步更新,如果采用手动式的更新的话效率会非常低.webapi框架下提供了一种自动生成文档的help Page页的功能. 但是原始版本的效果 ...
- ASP.NET Web API 配置 JSONP
之前的一篇博文:jsonp跨域+ashx(示例) 1. 安装 Jsonp 程序集: PM> Install-Package WebApiContrib.Formatting.Jsonp PM&g ...
- asp.net WebApi WebApiConfig.cs Web API 配置和服务
public static void Register(HttpConfiguration config) { ............................... var jsonSett ...
随机推荐
- vue项目使用echarts按需引入实现地图动态显示效果时,报错:TypeError: Cannot read property 'dataToPoint' of undefined
vue项目使用echarts按需引入实现地图动态显示效果时,报错:TypeError: Cannot read property 'dataToPoint' of undefined 借鉴了该大神的文 ...
- SpringBoot整合Shiro使用Ehcache等缓存无效问题
前言 整合有缓存.事务的spring boot项目一切正常. 在该项目上整合shiro安全框架,发现部分类的缓存Cache不能正常使用. 然后发现该类的注解基本失效,包括事务Transaction注解 ...
- spark 2.3 导致driver OOM的一个SparkPlanGraphWrapper源码的bug
背景 长话短说,我们部门一个同事找到我,说他的spark 2.3 structured streaming程序频繁报OOM,从来没有坚持过超过三四天的,叫帮看一下. 这种事情一般我是不愿意看的,因为大 ...
- en
发音,这个应该算是学习英语的头等大事,如果没有机会和条件练好发音,也可以先将就着,不过后面你就会感觉到你说的人家可能会听不懂,我自己也曾经深受其害. 基本常用单词积累(大概2000~4000左右的词汇 ...
- yield from
一.yield 关于yield详细可参考我这篇文章 下面是一个带yield的生成器: def gen_yield(): while True: recv = yield do something wi ...
- Nginx负载均衡各种配置方式
Nginx负载均衡 - 小刚qq - 博客园http://www.cnblogs.com/xiaogangqq123/archive/2011/03/04/1971002.html Module ng ...
- Eclipse支持文件UTF-8编码
Eclipse修改编码格式_百度经验https://jingyan.baidu.com/article/2009576193ee38cb0721b416.html 这篇最棒 如何为eclipse中的文 ...
- C# 和 c++的语法不同点
GC Garbage Collection 垃圾回收器 自动释放资源 关键字: new 1.创建对象 2.隐藏从父类继承的同名函数 using 1.引用命名空间 2. using(FileStrea ...
- 【Python3练习题 016】 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
这题得倒着推.第10天还没吃,就剩1个,说明第9天吃完一半再吃1个还剩1个,假设第9天还没吃之前有桃子p个,可得:p * 1/2 - 1 = 1,可得 p = 4.以此类推,即可手算出. 代码思路为: ...
- React Native之图片保存到本地相册(ios android)
React Native之图片保存到本地相册(ios android) 一,需求分析 1,react native保存网络图片到相册,iOS端可以用RN自带的CameraRoll完美解决,但是andr ...