今天,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. tomcat7性能调优与配置(以windows版为例)

    一.配置tomcat服务状态查看帐号(E:\Tomcats\apache-tomcat-7.0.73Test\conf下面的tomcat-users.xml中)加入:<user username ...

  2. asp.net路径问题

    -------------初级篇---------------------------------------- 在一般的href中路径的引用问题   ./index.aspx与index.aspx都 ...

  3. Spring Boot 发送邮件

    需求 最近因为业务的变更,需要对老用户进行发送邮件处理.目前市面上也有很多代发邮件的接口,可以接入.由于量不是特别大,放弃了这个途径.改用我们自己通过 smtp 发送邮件来处理. 技术选择 Java ...

  4. Vue中的scoped及穿透方法

    何为scoped? 在vue文件中的style标签上,有一个特殊的属性:scoped.当一个style标签拥有scoped属性时,它的CSS样式就只能作用于当前的组件,也就是说,该样式只能适用于当前组 ...

  5. nginx常用配置系列-静态资源处理

    接上篇,nginx处理静态资源的能力很强,后端服务器其实也可以处理静态资源,比如tomcat,但把非业务类的单一数据交给后端处理显然效率比较低,还有一种场景是多个站点公用一套资源集时,通过nginx可 ...

  6. C++相关:C++的IO库

    前言 基本的IO库设施 istream(输入流类型),提供输入操作. ostream(输出流类型),提供输出操作. cin,一个istream对象,从标准输入读取数据. cout,一个ostream对 ...

  7. capwap学习笔记——初识capwap(五)(转)

    3. CAPWAP Binding for IEEE 802.11 ¢ CAPWAP协议本身并不包括任何指定的无线技术.它依靠绑定协议来扩展对特定无线技术的支持. ¢ RFC5416就是用来扩展CAP ...

  8. 【转】MySQL datetime数据类型设置当前时间为默认值

    转自http://blog.csdn.net/u014694759/article/details/30295285 方法一: MySQL目前不支持列的Default 为函数的形式,如达到你某列的默认 ...

  9. SSM-Spring-20:Spring中事务基础

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 事务 事务是什么? 我记得当初的百度百科上讲,事务是执行的最小逻辑单元,它们要么都执行,要么都不执行 (同生共 ...

  10. Java公开课-04.异常

    一,异常的概念 程序在运行时,发生了我们没有预测的结果,它阻止了程序按照我们预期效果执行 二,怎么保证我们的程序在发生异常以后 ,代码继续执行? 异常处理机制 在程序发生异常以后,还能按照我们事先设定 ...