系列目录

1、Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行。

2、Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World。

3、Taurus.MVC WebAPI 入门开发教程3:路由类型和路由映射。

4、Taurus.MVC WebAPI 入门开发教程4:控制器方法及参数定义、获取及基础校验属性【Require】。

5、Taurus.MVC WebAPI 入门开发教程5:控制器安全校验属性【HttpGet、HttpPost】【Ack】【Token】【MicroService】。

6、Taurus.MVC WebAPI 入门开发教程6:全局控制器DefaultController与全局事件。

7、Taurus.MVC WebAPI 入门开发教程7:业务逻辑基类LogicBase的使用。

8、Taurus.MVC WebAPI 入门开发教程8:WebAPI文档与自动化测试。

后续还有两个系列:

1、Taurus.MVC 微服务 入门开发教程系列。

2、Taurus.MVC Web应用 入门开发教程系列。
 

前方:

本篇介绍框架的WebAPI文档与自动化测试

1、控制器,项目属性里需要勾选输出Xml文档选项:

然后,针对方法写好注释即可,示例:

public class MSController : Controller
{
/// <summary>
/// Get or Post 测试
/// </summary>
/// <param name="custom" type="header">post 消息</param>
/// <param name="msg" required="true">post 消息</param>
/// <param name="file" type="file">文件</param> 
      /// <returns>返回Json数据</returns>
[HttpGet]
[HttpPost]
[MicroService]
public void Hello(string msg, System.Web.HttpPostedFile file)
{
if (file != null)
{
file.SaveAs(file.FileName);
}
if (Request.UrlReferrer != null)
{
Write("From : " + Request.UrlReferrer.ToString() + "\r\n");
}
Write("MicroService : " + MicroService.Config.AppRunUrl + Request.Url.LocalPath + " : " + Request.HttpMethod + " : " + msg ?? "Hello" + MicroService.Config.ServerName);
}

特别说明:

1、type的类型有三种:text(默认)、header(请求头)、file(文件)

2、必填说明:required="true"

3、请求需要参数可以通过注释新增,不一定需要定义为方法参数。

2、下载文档的网页数据

如果是用源码开发的,则默认自带,如果是自己项目新建引用Nuget的,则需要下载:点击下载。

说明:

对于版本(>V3.0.3)会直接打包进Nuget中,引用即生成,不需要重新下载。

下载后解压到目录下,最终目录为:

.Net Framework 目录:/Views/Doc/....

.Net Core 目录:/wwwroot/Views/Doc/....

3、运行访问网址

路径为运行路径 /doc

这里点去,找到刚才注释的那个方法:

点进详情页:

这里就可以看到详细的接口文档。

参数的默认值,可以通过注释上初始定义、也可以通过Url的参数,如:msg=xxx来初始,也可以通过代码来初始:

        /// <summary>
/// 全局【方法执行前拦截】
/// 启用时:先全局,再执行局部(若存在)。
/// </summary>
public static bool BeforeInvoke(IController controller, string methodName)
{
if (controller.ControllerName == "doc")
{
controller.SetQuery("msg", "初始msg参数值。");
} return true;
}

4、接口测试:

可以在上图的示例值中:输入参数值,在运行请求边上:选择请求类型,和返回数据类型,然后点运行请求:

这样就完成轻松的 ,框架会在浏览器端缓存最后一次输入的请求参数,以后后续的测试或批量测试。

5、批量测试:

单个接口测试完后,返回控制器列表:

这里点击:RunAll,框架会拿最后一次测试的缓存在浏览器中的数据进行批量测试。

这里可以看到批量的请求结果,第1个本来也是false。

因为上一次执行的类型写的是json,把它改成text执行了一次,回来再批量才成true。

6、微服务文档

如果框架做为微服务的注册中心,左侧目录则会出现各微服务中心的模块和地址,点击即可跳转过去文档中心。

如果其它应用也是Taurus.MVC 开发,则很方便,如果是其它应用的,最好映射到host/doc目录。

说明:

当前是最省事的做法,后续会考虑直接在当前应用上生成测试文档,直接即可访问,而不用跳转。

总结:

本篇介绍了文档的生成、测试、批量测试与自动化测试。

后续将开启Taurus.MVC 微服务系列教程(部署教程)。

Taurus.MVC WebAPI 入门开发教程8:WebAPI文档与自动化测试。的更多相关文章

  1. Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行(含系列目录)。

    前言: Taurus.MVC 微服务版本已经发布了:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单. 以前都是框架发布时写点相关功能点的文章,没有形成 ...

  2. Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World。

    系列目录 1.Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...

  3. Taurus.MVC WebAPI 入门开发教程3:路由类型和路由映射。

    系列目录 1.Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...

  4. Taurus.MVC WebAPI 入门开发教程4:控制器方法及参数定义、获取及基础校验属性【Require】。

    系列目录 1.Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...

  5. Taurus.MVC WebAPI 入门开发教程5:控制器安全校验属性【HttpGet、HttpPost】【Ack】【Token】【MicroService】。

    系列目录 1.Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...

  6. Taurus.MVC WebAPI 入门开发教程6:全局控制器DefaultController与全局事件。

    系列目录 1.Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...

  7. Taurus.MVC 微服务框架 入门开发教程:项目集成:4、默认安全认证与自定义安全认证。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  8. GJM : Taurus.MVC 2.0 开源发布:WebAPI开发教程 [转载]

    Taurus.MVC 2.0 开源发布:WebAPI开发教程 转载自http://www.cnblogs.com/cyq1162/p/6069020.html 因是新手  粘贴时有一个版权问题 本文原 ...

  9. Taurus.MVC 微服务框架 入门开发教程:项目部署:1、微服务应用程序常规部署实现多开,节点扩容。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

随机推荐

  1. 可变参数——JavaSE基础

    可变参数 方法声明中,在指定参数类型后加一个省略号...即可声明可变参数 可变参数必须是参数列表的最后一个参数 声明 public void test(int... i){ System.out.pr ...

  2. Java - ConcurrentHashMap的原理

    Java - ConcurrentHashMap的原理 **这是JDK1.7的实现** ConcurrentHashMap 类中包含两个静态内部类 HashEntry 和 Segment. HashE ...

  3. .NET C#基础(2):方法修饰符 - 给方法叠buff

    0. 文章目的   本文面向有一定.NET C#基础知识的学习者,介绍C#中的方法修饰符的含义和使用以及注意事项.   1. 阅读基础   理解C#基本语法(如方法声明)   理解OOP基本概念(如多 ...

  4. iphone苹果手机拼健康码行程码教程

    因为疫情原因,不管是上班,还是上学,各公司和学校都要求提供全家人的健康码和行程码,并弄成一张拼图,这样方便统计!这就苦了广大用苹果手机的朋友们了,因为苹果手机没有自带的拼图软件. 下面我就教大家一个非 ...

  5. 洛谷 P2629 好消息,坏消息 题解

    暴力算法的时间复杂度是O(n^2),考虑优化: 先导入一种思想--断环为链.说通俗点就是在原数组后面再接上下标为1--(n - 1)的元素: 以样例为例:-3 5 1 2:我们将其断环为链后可以得到这 ...

  6. markdowm使用学习

    markdowm学习 标题(#/##/###/####) 三级标题 四级标题 字体(*/) hello world! hello world! hello world! hello world! he ...

  7. Java并发3

    轻量级锁:如果一个有多个线程访问,但多线程访问的时间是错开的,没有竞争,那么可以使用轻量级锁来优化: monitor:重量级锁: 正常我们使用synchronized时,没有竞争则是轻量级锁,当遇到竞 ...

  8. Java学习-第一部分-第一阶段-第二节:变量

    变量 变量介绍 为什么需要变量 变量是程序的基本组成单位 不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位,比如: //变量有三个基本要素(类型+名称+值) class Test{ p ...

  9. 拥抱 OpenAPI 3:springdoc-openapi 食用指南

    概述 使用 springdoc-openapi 可以快速为 springboot 项目生成规范的 API 文档,具体使用步骤如下: 依赖配置 在 pom.xml 加入内容,即可开始使用: <de ...

  10. 基于.NetCore开发博客项目 StarBlog - (12) Razor页面动态编译

    系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...