欢迎访问欧博开户!

首页科技正文

三公开船技术:Taurus.MVC 2.3.2 :WebAPI 文档集成测试功效及附加<%# JS执行功效语法 %>

admin2020-05-0834

前言:

前些天有网友提到了谁人界面貌寝的SwaggerUI,让我想起了多年前实现的WebAPI文档未完成的功效点,于是,着手了,便有了本文的内容。

开源地址:https://github.com/cyq1162/Taurus.MVC

 

1、WebAPI 文档集成测试功效(增强说明)

开启WebAPI文档:web.config 或 appsettings.json

设置:"IsStartDoc": true

即可通过/doc接见自动天生的WebAPI文档

1、过滤掉无形貌的接口。

文档自动天生的泉源来自项目中的Xml文档注释

为了能更好的控制显示的效果,不带注释的类或方式(只收录public),不会被收录显示。

2、参数的显示与执行测试说明

自动和成的参数,来自以下方式的注释:

        /// <summary>
        /// 获取Token
        /// </summary>
        /// 
        /// <param name="un" required="true" value="13488889999">用户名</param>
        /// <param name="pwd" type="header">密码</param>
        /// <param name="upload" type="file">图片上传</param>
        /// <returns>{success:true:msg:"tokenString..."}</returns>
        [HttpGet, Require("un", true, RegexConst.Mobile), Require("pwd")]
        [HttpPost]
        public void GetToken(string un, string pwd)
        {
            //is required. is invalid. 判断 是否:中文
            //CheckFormat("{0}不能为空&{0}花样错误", @"un&用户名&^1[3|4|5|8][0-9]\d{8}$", @"pwd&密码&^[\u0391-\uFFE5]+$");
            //string userName = Query<string>("un");
            //string pwd = Query<string>("pwd");
            if (!string.IsNullOrEmpty(un) && !string.IsNullOrEmpty(pwd))
            {
                byte[] data = System.Text.Encoding.UTF8.GetBytes("Taurus:" + un);
                string base64 = Convert.ToBase64String(data);
                Write(base64, true);
            }
            else
            {
                Write("UserName or Password Error", false);
            }
        }

  

其中:

required 决议是否必填 true 或 false(时可不写)
type 决议显示的文本框类型 header(请求头) file(文件上传) 其它(时可不写)
returns 显示返回的效果。


3、运行测试效果

可修改请求路径、请求参数、请求类型。

点击执行运行效果:

三公开船技术:Taurus.MVC 2.3.2 :WebAPI 文档集成测试功效及附加<%# JS执行功效语法 %> 第1张

系统会自动网络参数并执行,返回效果及请求头的内容。

 

2、附加<%# JS执行功效语法 %>

 为了实现这个自动测试功效,顺路增加了该语法功效。

在/Views/Doc/detail.html 中,有这样一段html代码:

 <tbody id="ParaView" clearflag="1">
                                                <tr>
                                                    <td width="80px">{0}</td>
                                                    <td>{1}</td>
                                                    <td>
                                                        <%# ${required}?'是':'否'%>
                                                    </td>
                                                    <td><%# '${type}'=='file'?'文件':('${type}'=='header'?'请求头':'${type}')%></td>
                                                    <td>
                                                        <![CDATA[
                                                        <input name="{0}" type="<%# '${type}'=='file'?'file':'text'%>" value="{4}" style="width:90%"  rtype="${type}" <%# ${required}?'required="required"':'false'%> />
                                                        ]]>
                                                    </td>

                                                </tr>
                                            </tbody>

其中 ${索引或属性名} 是之前就有的绑定语法。

为了利便html中对于简朴的判断的文字调换,思索之后,把<%# 这里的内容都会被JS引擎执行 %>语法块功效给加上了。

细节说明:

由于模板是xhtml语法要求,对于不符合xml语法的地方,可以用

<![CDATA[ ...]]>  包罗起来。

 

竣事说明:

1、本次版本更新主要就是以上两点功效。

2、由于net core 下支持 <%# %>语法,引用了Microsoft.ClearScript.dll(这个最低支持是3.1),以是netcore的默认版本调高到3.1。

,

sunbet

Sunbet和www.eyaeya.com强强联合,打造一站式全民直营平台,用资本、技术、服务在同行中获胜。Sunbet和EYAEYA网提供数十种线上纸牌、zhenren、电子游戏,致力打造公平公开公正的信誉平台。

转载声明:本站发布文章及版权归原作者所有,转载本站文章请注明文章来自欧博开户!

本文链接:http://www.wednesdayjf.com/post/1108.html

网友评论

最新评论

  • UG环球官方网 09/21 说:

    Allbet代理欢迎进入Allbet代理(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。很有内容

  • UG环球官方网 09/21 说:

    Allbet代理欢迎进入Allbet代理(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。很有内容

  • 欧博亚洲官网开户网址 09/21 说:

    欧博Allbet欢迎进入欧博Allbet官网(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。最喜欢这个网站

  • Allbet注册 09/21 说:

    AllbetGmaing客户端下载欢迎进入AllbetGmaing客户端下载(www.aLLbetgame.us):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。先码,再看

  • 联博开奖 09/20 说:

    欧博手机版下载欢迎进入欧博手机版下载(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。宇宙无敌一级棒

  • 环球UG 09/19 说:

    联博以太坊www.326681.com采用以太坊区块链高度哈希值作为统计数据,联博以太坊统计数据开源、公平、无任何作弊可能性。联博统计免费提供API接口,支持多语言接入。作者很有前途啊

  • 欧博开户 09/19 说:

    AllbetGmaing下载欢迎进入AllbetGmaing下载(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。单纯觉得好看

  • 环球UG代理 09/19 说:

    欧博亚洲电脑版下载欢迎进入欧博亚洲电脑版下载(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。简直精彩