ASP.Net.WebAPI和工具PostMan

1.WebAPI概述

1.1 WebAPI

WebAPI 是一种传统的方式,用于构建和暴露 RESTUI风格的Web服务。它提供了丰富的功能和灵活性,可以处理各种HTTP请求,并支持各种数据格式,如JSON、XML等。

WebAPI使用控制器(Controllers)和动作方法(ActionMethods)的概念、通过路由配置将请求映射到相应的方法上。

开发人员可以使用各种属性和过滤器来处理请求、控制访问权限、验证数据等。

1.2 MinimaIAPI

MinimaIAPI 是ASP.NET COre6引入的一种新的轻量级 API开发模型。

它旨在简化 API的创建过程,提供更简洁、更集中的代码结构。

MinimalAP1基于函数式编程模型,通过一个顶级的webAppiication 类来配置路由和请求处理。开发人员可以使用链式调用的方式定义路由、请求处理逻辑和中间件。这种模型更加直观和易于理解,尤其适合构建小型的、单一用途的 WebAPI。

与WebAPI相比,MinimalAPI的主要区别包括:

1.代码量更少:MinimalAPI基于函数式编程模型,代码更加简洁、消除了控制器和动作方法的概念。

2.更少的依赖项:MinimalAPI不需要使用额外的NuGet包,只需使用ASP.NET Core 本身的核心包即可。

3.更直观的路由配置:MinimaAP1使用链式调用的方式定义路由,路由配置更加直观和易于理解。

4.更轻量级的应用:由于代码量少、依赖项少,MinimalAPI应用程序的启动时间更快,内存占用更小。

2.新建WebAPI

Web API项目模板提供了一个入门版控制器:

[ApiConyroller]

[Route("[controller]")]

public class WeatherForecastController : ControllerBase

Web API控制器通常应派生自 ControllerBase 而不是 Controler。Controller派生自ControlerBase,并添加对视图的支持,因此它用于处理 Web页面,而不是WebAPI请求。如果同一控制器必须支持视图和 Web API,则派生自Controller.

可以勾选https或不勾选

在program.cs中自带举例代码如下

csharp 复制代码
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Mvc;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.

var app = builder.Build();

// Configure the HTTP request pipeline.

var summaries = new[]
{
    "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};

app.MapGet("/weatherforecast", () =>
{
    var forecast = Enumerable.Range(1, 5).Select(index =>
        new WeatherForecast
        (
            DateTime.Now.AddDays(index),
            Random.Shared.Next(-20, 55),
            summaries[Random.Shared.Next(summaries.Length)]
        ))
        .ToArray();
    return forecast;
});
app.Run();

internal record WeatherForecast(DateTime Date, int TemperatureC, string? Summary)
{
    public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
}

运行程序默认打开浏览器显示数据如下

同样的在上述文件中添加get和post方法如下

csharp 复制代码
app.MapGet("/api/user/login", () =>
{
    return "hello api";
});

app.MapPost("/api/user/loginPost", ([FromForm] string username, [FromForm] string password) =>
{
    return "hello api" + username + "-" + password;
});

点击运行,使用PostMan软件测试如下:

工具Postman软件介绍

Postman是一款API测试和开发环境的软件,旨在简化API开发过程、测试和文档编制。以下是关于Postman的详细介绍和使用方法:

一、Postman软件介绍

功能概述:Postman提供了一套功能强大的工具,帮助开发人员更轻松地构建、测试和调试Web服务。它可以发送任何类型的HTTP请求(GET, HEAD, POST, PUT等),附带任何数量的参数和headers。无论是开发人员进行接口调试,还是测试人员做接口测试,Postman都是首选工具之一。

开发者背景:Postman由Abhinav Asthana等人创建,现已成为世界领先的API平台。它简化了API生命周期的每个步骤,并简化了协作,使开发人员能够更快地创建更好的API。

二、Postman使用方法

安装Postman:

访问Postman官方网站(https://www.getpostman.com/),下载最新版本。

根据自己电脑的系统选择对应的版本进行下载。

双击下载的安装包,进入安装界面,按照提示完成安装。个人使用可以选择跳过登录和注册,直接进入主界面。

界面介绍:

顶部菜单:包含文件、编辑、视图和帮助等常用功能。

Home:显示个人主页,包括提醒、工作区等信息。

Workspace:工作区域,可以创建和管理不同的项目。

Explorer:查看关于Postman的公共API、团队、工作区和集合。

其他功能:如搜索、邀请成员、设置、通知、账户管理和升级等。

发送请求:

点击界面左上角的"+"号,打开一个新的请求页。

在请求的URL中输入要发送请求的URL地址。

选择请求方法(GET、POST等),并填写必要的请求参数和headers。

点击"Send"按钮发送请求,查看响应结果。

集合与环境:

集合(Collections):一组API的集合,相当于是一个综合的板块。可以在集合下创建包和各种请求。

环境(Environments):管理API执行环境的地方,有全局变量和环境变量应对一些请求不断变化。可以创建不同的环境(如开发环境、测试环境等),并在不同环境中切换。

响应结果比较与测试用例:

Postman提供响应结果的比较功能,可以用来写测试用例。可以保存请求和响应结果作为测试用例,并在后续测试中比较实际响应与预期响应是否一致。

其他高级功能:

Mock Servers:设置Mock服务器的地方,主要用于联调测试,不拖慢测试的进度。

Monitors:定期运行集合以检查其性能和响应情况。

Flows:通过拖放UI连接一系列请求从而创建API工作流。

总之,Postman是一款功能强大的API测试和开发环境软件,通过简单直观的界面和丰富的功能支持开发人员更高效地构建、测试和调试Web服务。

相关推荐
*长铗归来*5 小时前
ASP.NET Core Web API Hangfire
后端·c#·asp.net·.netcore
weixin_456146265 小时前
feign验签不通过,但是postman没问题
测试工具·lua·postman
红黑色的圣西罗11 小时前
两种不同的LuaBehaviour生命周期绑定
unity·lua
山人在山上15 小时前
nginx(openresty) lua 解决对接其他平台,响应文件中地址跨域问题
nginx·lua·openresty
斯南2 天前
postman去除更新
测试工具·postman
MJH8272 天前
Selenium + Pytest自动化测试框架实战!
selenium·测试工具·jmeter·职场和发展·pytest·postman
半夏知半秋2 天前
lua debug相关方法详解
开发语言·学习·单元测试·lua
图灵猿2 天前
【Lua之·Lua与C/C++交互·Lua CAPI访问栈操作】
c语言·c++·lua
云海04782 天前
OpenResty、Lua介绍认识
junit·lua·openresty
一只小H呀の2 天前
接口测试Day03-postman使用&接口用例设计
测试工具·postman