asp.net web api 测试帮助页面建立并测试

摘要:
asp。netwebapi测试帮助页面已建立并测试。现在,使用WEBAPI开发越来越流行。对于开发过程中的测试和调试,您可以使用Fiddler和其他工具来帮助测试,以及:在asp.net中有一种方法可以设置帮助测试页面来帮助测试和调试API接口,这非常方便。原始英文地址:http://blogs.msdn.com/b/yaohuang1/archive/2012/12/02/adding-a-simple-test-client-to-asp-net-web-api-help-page.aspx中国网友博客:你会非常清楚地知道如何调用你的API接口。为了简化此任务,ASP。NET Web API提供了一个在运行时自动生成帮助页的库。

asp.net web api 测试帮助页面建立并测试

现在使用WEB API来开发,越来越流行。

在开发过程中的测试调试,可以使用Fiddler等工具来帮助测试外,还有:

在asp.net 中有种方式可以建立一个帮助测试页面来帮助测试调试API接口,非常的方便。

英文原文地址:

http://blogs.msdn.com/b/yaohuang1/archive/2012/12/02/adding-a-simple-test-client-to-asp-net-web-api-help-page.aspx

网上朋友的中文博客:

就会很清楚地知道如何调用你的API接口。你可以选择自己手工建立,但是如果能自动生成岂不是更好。为了简化这项任务, ASP.NET Web API提供了一个在运行时自动生成帮助页的库。

技术分享
 技术分享
技术分享
 
技术分享
在项目中添加帮助页,首先使用NuGet安装Microsoft.AspNet.WebApi.HelpPage库
 技术分享

技术分享

安装成功后,启动项目有可能会报下图的异常
技术分享
 
技术分享
 
引起异常的原因是Microsoft.AspNet.WebApi.HelpPage库要依赖于如下程序集,如果项目中使用的程序集版本低于它依赖的版本,NuGet就会把这些程序集升级到依赖的版本。升级之后引起了本地程序集和GAC的程序集冲突。
技术分享
解决该问题的办法是,在项目的Web.config配置文件中的runtime节点,添加:
< dependentAssembly>
        < assemblyIdentity name = "System.Web.WebPages.Razor " publicKeyToken =" 31bf3856ad364e35 "/>
        < bindingRedirect oldVersion = "1.0.0.0-3.0.0.0 " newVersion =" 3.0.0.0 "/>
      </ dependentAssembly >

在项目Areas 文件夹下就自动生成了有关帮助页的所有代码文件

技术分享
启动项目,帮助页的相对路径是/Help,如果你新增加了API控制器,帮助页内容会在运行时自动更新。
技术分享
帮助页对应的MVC视图在项目中的路径是Areas/HelpPage/Views/Help/Index.cshtml,你可以随自己的意愿定制该视图的布局、介绍、标题、样式等等。
默认生成的帮助页有很多没什么实际意义的占位字符串。
技术分享
你可以使用XML文档注释功能来创建有意义的文档。要开启该功能,需要打开Areas/HelpPage/App_Start/HelpPageConfig.cs文件,取消下面这句代码的注释:
// Uncomment the following to use the documentation from XML documentation file.
config.SetDocumentationProvider( new XmlDocumentationProvider ( HttpContext.Current.Server.MapPath( "~/App_Data/XmlDocument.xml" )));
然后在解决方案资源管理器,右键项目名称,选择属性,选择生成,在输出配置项,勾选XML文档文件,修改输出路径为App_Data/XmlDocument.xml
技术分享
然后打开API控制器文件,通过XML文档注释方式(///方式)给控制器的Action方法添加注释
/// <summary>
/// 查询指定ID的商品信息
/// </summary>
/// <param name="id"> 商品ID </param>
/// <returns> 查询到的商品记录 </returns>
[ HttpGet]
public Product Get( int id)
{
    return repository.Products.FirstOrDefault(p => p.ProductId == id);
}
重新编译运行项目,导航到帮助页,添加的注释信息就显示到了帮助页
技术分享
如果要帮助页上隐藏某个API接口的信息,可以给该Action添加ApiExplorerSettings特性同时IgnoreApi属性设置为true
/// <summary>
/// 获取商品列表
/// </summary>
/// <returns> 商品列表 </returns>
[ ApiExplorerSettings(IgnoreApi = true )]
public IEnumerable < Product> Get()
{
    return repository.Products;
}
技术分享
你也可以给控制器添加该特性,整个控制器的信息都不会出现在帮助页上。
 
注意:

不过使用时,如果有使用路由特性要注意一下,使用不配置路由映射时,就不能添加扩展文件名(.html  .json)之类的,默认只能使用正规的URI

,如:

http://localhost:2424/api/test/action/params   能正常测试

http://localhost:2424/api/test/action/params.json 不能正常测试

参考:http://www.mamicode.com/info-detail-500490.html

免责声明:文章转载自《asp.net web api 测试帮助页面建立并测试》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇java 通过 SmbFile 类操作共享文件夹rem怎么计算下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Exchange Web Services Managed API 1.0 入门

Exchange Web Services Managed API 1.0 大概是在微软在09年10月左右发布的目前国内的资料非常少,国外倒是还有一些比较好的资料。这是一篇入门级的文章,只希望能给大家一个简单的介绍,具体的更详细的大家可以在MSDN里面找。 Exchange在2007之后提供了Exchange Web Service(EWS),它提供了一...

帝国CMS 复制word里面带图文的文章,图片可以直接显示

1.4.2之后官方并没有做功能的改动,1.4.2在word复制这块没有bug,其他版本会出现手动无法转存的情况 本文使用的后台是Java。前端为Jsp(前端都一样,后台如果语言不通得自己做 Base64编码解码) 因为公司业务需要支持IE8 ,网上其实有很多富文本框,效果都很好。 例如www.wangEditor.com  但试了一圈都不支持IE8 。 所...

YOURLS' API

YOURLS' API 特征 生成或获取现有的短URL,带有顺序关键字或自定义关键字获取一些关于你的链接的统计信息:点击链接,点击最少的链接,最新链接输出格式:JSON、XML或简单的原始文本Authentify或者用户名/密码或使用安全密码机制 Usage You need to send parameters to http://your-own-do...

关于 RESTFUL API 安全认证方式的一些总结

常用认证方式在之前的文章REST API 安全设计指南与使用 AngularJS & NodeJS 实现基于 token 的认证应用两篇文章中,[译]web权限验证方法说明中也详细介绍,一般基于REST API 安全设计常用方式有:HTTP Basic Basic admin:admin Basic YWRtaW46YWRtaW4...

JAX-WS HandlerChain使用详解

JAX-WS的Handler和Servlet的Filter相似,可以对所有WebServicer进行拦截,在Handler中可以记录日志、权限控制、对请求的SOAP消息进行加密,解密等。JAX-WS提供两个Handler接口,LogicalHandler和SOAPHandler。LogicalHandler处理的是Message Payload,只能够访...

JimuReport积木报表 — API数据源报表带参制作

积木报表 ,一个开源免费的报表工具,像搭建积木一样在线设计报表!功能涵盖数据报表设计、打印设计、图表设计、大屏设计等! 领先的企业级Web报表平台软件,采用纯Web在线技术,专注于解决企业报表快速制作难题。 快速体验: www.jimureport.com 在上一章API报表制作中介绍到API如何制作,但我们会发现它的分页不好用,本章说明一下带参的API...