zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    没有spring如何使用注解下篇
    在没有spring框架如何使用注解上篇
    oracle11g里sqldeveloper不能打开的问题
    java代码换行
    枚举接口Enumeration
    java开发环境的搭建(上班笔记01)
    2013.12.12-2013.12.22面试
    2013.12.12-2013.12.20面试
    supervisor superlance
    Laravel 返回日期问题2021-07-23T05:56:03.000000Z
  • 原文地址:https://www.cnblogs.com/mxm2005/p/4983192.html
Copyright © 2011-2022 走看看