使用 Postman 调试 ASP.NET Core 开发的 API

使用 Postman 调试 ASP.NET Core 开发的 API

发布于 2018-09-09 12:38 更新于 2018-09-10 05:19

使用 ASP.NET Core 开发简单的后台 API 还是非常容易的。涉及到 GET 请求的调试我们可以用浏览器简单搞定,那么 POST/PUT/DELETE 这样的请求呢?

本文将使用 Postman 来调试这些请求。


简单的 ASP.NET Core 程序

如果你还不清楚如何编写一个 ASP.NET Core 程序,可以阅读 win10 uwp 手把手教你使用 asp dotnet core 做 cs 程序 学习做一个最简单的版本。

我们的重点不是写一个 ASP.NET Core 程序,所以我只贴出最简单的路由地址的处理。

using Microsoft.AspNetCore.Mvc;
using Walterlv.WebApi.Rssman.Models;

namespace Walterlv.WebApi.Rssman.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class RssController : ControllerBase
    {
        private readonly RssFeedContext _context;

        public RssController(RssFeedContext context)
        {
        }

        // GET: api/Rss
        [HttpGet]
        public ActionResult<List<RssFeedItem>> Get()
        {
            // 省略实现。
        }

        // GET: api/Rss/5
        [HttpGet("{id}", Name = "Get")]
        public ActionResult<RssFeedItem> Get(long id)
        {
            // 省略实现。
        }

        // POST: api/Rss
        [HttpPost]
        public IActionResult Post([FromBody] RssFeedItem item)
        {
            // 省略实现。
        }

        // PUT: api/Rss/5
        [HttpPut("{id}")]
        public IActionResult Put(long id, [FromBody] RssFeedItem item)
        {
            // 省略实现。
        }

        // DELETE: api/ApiWithActions/5
        [HttpDelete("{id}")]
        public IActionResult Delete(long id)
        {
            // 省略实现。
        }
    }
}

以上代码是省略了所有实现的,完整的实现可以看这里:RssController。相关数据模型类的定义可以看这里:

以上程序如果在 Visual Studio 里进行调试,可以在本地搭建一个可访问的 Url。比如: https://localhost:44395/ 。

模拟 GET 请求

我们通过浏览器就可以模拟 GET 请求,比如我们在 Chrome / Microsoft Edge / Firefox 中访问 https://localhost:44395/api/rss 会在浏览器中显示结果的 json 字符串:

[
    {
        "id": 1,
        "name": "walterlv",
        "feedUrl": "https://walterlv.com/feed.xml",
        "siteUrl": "https://walterlv.com/"
    },
    {
        "id": 2,
        "name": "lindexi",
        "feedUrl": "https://lindexi.gitee.io/lindexi/feed.xml",
        "siteUrl": "https://lindexi.gitee.io/"
    }
]

▲ Chrome 浏览器访问

当然,实际上浏览器访问时是没有这些空白字符的,这样可以节省带宽。特别的,Internet Explorer 在访问时会提示保存 rss.json 文件

▲ IE 浏览器访问

很明显不用去管被时代淘汰的 IE 浏览器。

下载安装 Postman

Postman 的下载地址在这里 https://www.getpostman.com/apps

▲ 选择你需要的平台

Postman 的安装是极简的,没有任何设置。当启动后,注册或登录你的个人账号,然后填写一些个性化设置即可。

如果你是本地 https 的调试,记得在 Postman 里关掉 SSL 证书验证,不然这种自己签署的证书是无法成功完成请求的。

▲ 关闭 SSL 证书验证

模拟 POST 请求

在 Postman 的主界面,创建一个 HTTP POST 请求只需要几个小步骤:

▲ 创建一个 POST 请求

“Send” 按钮点击后,我们便可以在右侧看到此请求的响应:

▲ 请求响应

注意,如果你看到的是下面这样的响应界面,记得回到前面的步骤去关闭 SSL 证书验证。

▲ 无法获取响应

如果你在 Visual Studio 中打了断点,那么现在应该已经进入了断点了:

▲ Visual Studio 中进入断点

于是你就能调试 POST 请求了。

模拟 PUT / PATCH / DELETE / … 请求

同样的,你也可以用 Postman 模拟其他种类的 HTTP 请求。

▲ 模拟其他请求

关于本文调试的 ASP.NET 程序 Rssman

Rssman 是用来管理 RSS 订阅的 ASP.NET 程序,目前正在开发中。

本文会经常更新,请阅读原文: https://walterlv.com/post/use-postman-to-debug-asp-net-core-api.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 (walter.lv@qq.com)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏葡萄城控件技术团队

.Net 高效开发之不可错过的实用工具 工欲善其事,必先利其器,没有好的工具,怎么能高效的开发出高质量的代码呢?本文为各ASP.NET 开发者介绍一些高效实用的工具,涉及SQL 管理,VS插件,内

工欲善其事,必先利其器,没有好的工具,怎么能高效的开发出高质量的代码呢?本文为各ASP.NET 开发者介绍一些高效实用的工具,涉及SQL 管理,VS插件,内存管...

2336
来自专栏令仔很忙

手把手教你----使用Nuget管理自己的项目库

官网上的解释:NuGet is the package manager for the Microsoft development platform in...

1581
来自专栏GuZhenYin

SignalR系列续集[系列8:SignalR的性能监测与服务器的负载测试]

前言 也是好久没写博客了,近期确实很忙,嗯..几个项目..头要炸..今天忙里偷闲.继续我们的小系列.. 先谢谢大家的支持.. 我们来聊聊SignalR的性能监测...

2566
来自专栏张善友的专栏

FileSystemWatcher 导致Mono ASP.NET应用程序CPU使用率比较高

大家都知道ASP.NET 网站应用程序(WebSite)可以自动检测到你的ASP.NET应用的文件修改,其中要使用到的就是监视磁盘上的文件/目录的更改,以便应用...

21210
来自专栏walterlv - 吕毅的博客

如何最快速地将旧的 NuGet 包 (2.x, packages.config) 升级成新的 NuGet 包 (4.x, PackageReference)

发布于 2018-05-13 09:07 更新于 2018-06...

531
来自专栏walterlv - 吕毅的博客

如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包

发布于 2018-05-11 16:04 更新于 2018-09...

1211
来自专栏技术小讲堂

使用ASP.NET Identity以手机短信实现双重验证创建一个ASP.NET 5项目运行应用程序使用SMS短信进行双重验证开启双重验证使用双重验证登陆应用程序禁用账户来防止暴力破解

这篇文章将展示怎么使用SMS短信启动双重验证 创建一个ASP.NET 5项目 一开始,使用Visual studio 2015创建一个新的ASP.NET Web...

3386
来自专栏贺嘉的专栏

如何用Baas快速在腾讯云上开发小程序之系列2:搭建Phabricator开发管理平台

如何用Baas快速在腾讯云上开发小程序-系列2:搭建Phabricator开发管理平台,步骤包括上传 SSL/TLS 证书、创建 Phabricator 容器、...

9770
来自专栏逸鹏说道

.NET跨平台之旅:在Linux上以本地机器码(native)运行ASP.NET Core站点

在将“.NET跨平台之旅”示例站点 about.cnblogs.com 从 ASP.NET 5 RC1 升级至 ASP.NET Core 1.0 (博文链接)之...

2959
来自专栏图像识别与深度学习

sublime text 3 打造成python IDE 环境

4406

扫码关注云+社区

领取腾讯云代金券