前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【代替Swagger和Postman等工具的神器】使用VS自带的.http文件快速调试webapi

【代替Swagger和Postman等工具的神器】使用VS自带的.http文件快速调试webapi

作者头像
Wesky
发布2024-08-13 18:58:16
790
发布2024-08-13 18:58:16
举报
文章被收录于专栏:Dotnet Dancer

前言:需要VS2022版本支持。.http文件在.NET 8环境下自带,但是处于好奇心挖掘了一下,其实这个文件和你是啥SDK环境无关、和啥开发语言也无关,纯粹就是VS2022里面附带的功能。废话不多说,下面正文:

创建webapi项目(任意.NET版本),此处用.NET6开发一个带有控制器的webapi项目,用来测试使用。

然后创建一个新的api控制器,并写几个简单的测试api:

代码语言:javascript
复制
[Route("api/[controller]/[action]")]
[ApiController]
public class TestController : ControllerBase
{
    [HttpGet]
public IActionResult Get1()
    {
return Ok("Hello Get!");
    }
    [HttpPost]
public IActionResult Post1()
    {
return Ok("Hello Post!");
    }
    [HttpPost]
public IActionResult Post2([FromBody] TestParamInfo info)
    {
        TestReturnInfo returnInfo = new TestReturnInfo();
        returnInfo.name = info.name;
        returnInfo.message = $"这家伙年纪{info.age}";
return Ok(returnInfo);
    }
}
public class TestParamInfo
{
public string name { get; set; }
public int age { get; set; }
}

public class TestReturnInfo
{
public string name { get; set; }
public string message { get; set; }
}
代码语言:javascript
复制

为了方便调试,写死启动地址和端口:127.0.0.1:16888

任意创建一个项目,例如控制台项目,为了证明和.NET 8无关,此处也使用.NET 6环境。

在控制台项目下,新建一个http文件

写第一个Get1()的测试内容:

@Url是自定义的变量名,后面url地址接上面配置的写死的地址,然后编写Get访问调试命令,如果没问题,会自动弹出"发送请求"和"调试"链接。

调试会自动运行你当前的启动项目,并访问api;发送请求用于已经有api,我们要测试结果和连通性使用,该功能用于代替postman和swagger,以及.NET 8后面的AOT功能不能支持swagger时候使用,提高调试效率。

测试第一个Get1()接口,效果如图所示

编写访问Post请求用例,并发送请求。Post前面就用Post,Get就用Get,其他的就用对应的。不过需要注意的是,每个用例之间,需要用###注释分割开,不然可能会识别错误,把没有分割开的内容识别为参数。

带实体类参数的用例,并查看访问结果。需要提供必需的头部信息:

Content-Type

需要要调试的参数,以指定格式(例如Json)在下一行直接输入。

需要空白一行输入,否则可能解析出错。

如果把api服务关闭,点发送就自然会失败:

虽然该功能在.NET 8才出来介绍,但是实际上不需要区分.NET SDK,也可以使用,例如我上面的测试环境都是.NET 6环境,也可以用。这是因为.http是VS2022的功能之一,而不是SDK的。如果需要了解更多信息,可以查阅微软官方文档:

https://learn.microsoft.com/zh-cn/aspnet/core/test/http-files?view=aspnetcore-8.0

如果觉得有帮助,欢迎点赞转发或在看~ 当然,也欢迎扫码关注本公众号【Dotnet Dancer】,不定时更新.NET文章,或者一些其他好玩的内容。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Dotnet Dancer 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
内容识别
内容识别(Content Recognition,CR)是腾讯云数据万象推出的对图片内容进行识别、理解的服务,集成腾讯云 AI 的多种强大功能,对存储在腾讯云对象存储 COS 的数据提供图片标签、图片修复、二维码识别、语音识别、质量评估等增值服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档