今天,Visual Studio中没有内置工具来测试WEB API。使用浏览器,只能测试http GET请求。您需要使用PostmanSoapUIFiddlerSwagger等第三方工具来执行WEB API的完整测试。在ASP.NET Core 2.2中,引入了一个名为“http-repl”的基于CLI的新dotnet核心全局工具,用于与API端点交互。它是一个基于CLI的工具,可以列出所有路由并执行所有HTTP动词。在这篇文章中,让我们了解如何使用HTTP-REPL工具在ASP.NET Core 2.2中测试WEB API。

“http-repl”是一个dotnet核心全局工具,要安装此工具,请运行以下命令。

dotnet tool install -g dotnet-httprepl --version 2.2.-* --add-source https://dotnet.myget.org/F/dotnet-core/api/v3/index.json

安装后,您可以使用以下命令验证安装。

dotnet tool list -g

1.现在安装了已经成功安装了这个程序,那么我们将要创建一个WebApi项目,来用于该工具的测试。

2.我们需要将此工具添加到Web浏览器列表中,以便我们可以使用此工具浏览API。为此,请按照下图中给出的步骤操作。

在宇宙最强IDE中依次打开这几个窗口,并设置浏览器位置。

HTTP-REPL工具可执行文件的位置是 "C:\Users\<username>\.dotnet\tools" 添加后,您可以在浏览器列表中进行验证。参数可以为空,名称随便。

运行应用程序(确保在浏览器列表中选择了HTTP REPL),您应该看到一个命令提示符窗口。正如前面提到的,这是一个基于命令行的工具,所以你可以用这样的命令dirlscdcls。下面是我启动Web API的示例运行。

这是一个简单的get 请求。

您可以使用所有HTTP谓词,并且在使用POST动词时,您应该设置默认文本编辑器以提供JSON。您可以使用以下命令将Visual Studio代码设置为默认文本编辑器。

pref set editor.command.default "C:\Program Files (x86)\Microsoft VS Code\Code.exe"  //当然你也可以手动设置(这个路径有可能不一样)

设置默认编辑器并触发POST动词后,它将启动编辑器并为您编写JSON。见下面的GIF。

您还可以通过执行ui命令从命令提示符导航到Swagger UI .

当您触发PUT命令时,行为与POST动词相同。文本编辑器将打开并为您编写JSON,只提供执行PUT命令的更新值。

最后:

在玩了一段时间之后,我强烈地感觉它是Swagger UI的命令行版本,当有许多API端点时它会非常方便。您可以轻松地在API之间导航或切换并执行它。

使用Http-Repl工具测试ASP.NET Core 2.2中的Web Api项目的更多相关文章

  1. 在ASP.NET Core 2.2 中创建 Web API并结合Swagger

    一.创建 ASP.NET Core WebApi项目 二.添加 三. ----------------------------------------------------------- 一.创建项 ...

  2. 【ASP.NET Core】体验一下 Mini Web API

    在上一篇水文中,老周给大伙伴们简单演示了通过 Socket 编程的方式控制 MPD (在树莓派上).按照计划,老周还想给大伙伴们演示一下使用 Web API 来封装对 MPD 控制.思路很 Easy, ...

  3. ASP.NET Core 中文文档 第二章 指南(2)用 Visual Studio 和 ASP.NET Core MVC 创建首个 Web API

    原文:Building Your First Web API with ASP.NET Core MVC and Visual Studio 作者:Mike Wasson 和 Rick Anderso ...

  4. 使用静态基类方案让 ASP.NET Core 实现遵循 HATEOAS Restful Web API

    Hypermedia As The Engine Of Application State (HATEOAS) HATEOAS(Hypermedia as the engine of applicat ...

  5. 【翻译】在Visual Studio中使用Asp.Net Core MVC创建第一个Web Api应用(二)

    运行应用 In Visual Studio, press CTRL+F5 to launch the app. Visual Studio launches a browser and navigat ...

  6. 将终结点图添加到你的ASP.NET Core应用程序中

    在本文中,我将展示如何使用DfaGraphWriter服务在ASP.NET Core 3.0应用程序中可视化你的终结点路由.上面文章我向您演示了如何生成一个有向图(如我上篇文章中所示),可以使用Gra ...

  7. ASP.NET Core 5.0中的Host.CreateDefaultBuilder执行过程

      通过Rider调试的方式看了下ASP.NET Core 5.0的Web API默认项目,重点关注Host.CreateDefaultBuilder(args)中的执行过程,主要包括主机配置.应用程 ...

  8. 测试 ASP.NET Core API Controller

    本文需要您了解ASP.NET Core MVC/Web API, xUnit以及Moq相关知识. 这里有xUnit和Moq的介绍: https://www.cnblogs.com/cgzl/p/917 ...

  9. ASP.NET Core 1.0 中使用 Swagger 生成文档

    github:https://github.com/domaindrivendev/Ahoy 之前文章有介绍在ASP.NET WebAPI 中使用Swagger生成文档,ASP.NET Core 1. ...

随机推荐

  1. 【Java入门提高篇】Day16 Java异常处理(上)

    当当当当当当,各位看官,好久不见,甚是想念. 今天我们来聊聊Java里的一个小妖精,那就是异常. 什么是异常?什么是异常处理? 异常嘛,顾名思义就是不正常,(逃),是Java程序运行时,发生的预料之外 ...

  2. Mysql 查询条件中字符串尾部有空格也能匹配上的问题

    一.表结构 TABLE person id name 1 你 2 你(一个空格) 3 你(二个空格) 二.查询与结果 select * from person where `name` = ? 无论 ...

  3. 强大的代码编辑器 phpstorm version 2016.2 License Server激活

    "磨刀不误砍柴工","工欲善其事必先利其器",找个一个好的代码开发编辑工具可以让我们事半功倍,并且代码质量得到保障,在这里就推荐一款强大的代码编辑器,不对其实可 ...

  4. java8完全解读二

    继续着上次的java完全解读一 继续着上次的java完全解读一1.强大的Stream API1.1什么是Stream1.2 Stream操作的三大步骤1.2.1 创建Stream1.2.2 Strea ...

  5. 四年级--python函数基础用法

    一.函数的定义,调用和返回值 1.1 语法 def 函数(参数一,参数二...): ''' 文档注释 ''' 代码逻辑一 代码逻辑二 .... return 返回值 1.2 定义函数的三种形式 说明: ...

  6. 【已解决】C#中往SQLServer插入数据时遇到BUG

    错误信息如下: “System.Data.SqlClient.SqlException”类型的未经处理的异常在 System.Data.dll 中发生 其他信息: “”附近有语法错误. 文字版代码如下 ...

  7. Lintcode401 Kth Smallest Number in Sorted Matrix solution 题解

    [题目描述] Find the kth smallest number in at row and column sorted matrix. 在一个排序矩阵中找从小到大的第 k 个整数. 排序矩阵的 ...

  8. hdu-2683 TCE-frep number system---完全数+二项展开式

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2683 题目大意: g(n)是n的因子和 两种操作: A a b 查询a b区间有多少个n满足上式. ...

  9. 设计模式之策略模式(Strategy Pattern)

    模板方法是通过继承实现的,在父类中定义出算法的骨架,将不同点在子类中实现.而策略模式是通过接口实现的,策略中定义了完整的算法.它们有点像啊-- 策略模式的定义 策略模式(Strategy Patter ...

  10. linux独有的sendfile系统调用--“零拷贝,高效”

    参考:http://blog.csdn.net/caianye/article/details/7576198 如今几乎每个人都听说过Linux中所谓的"零拷贝"特性,然而我经常碰 ...