ASP.Net.WebAPI和工具PostMan

news2024/11/19 13:21:45

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中自带举例代码如下

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方法如下

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服务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1855659.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于最强模型Claude 3.5 Sonnet,你需要知道的10条总结!

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,所以创建了“AI信息Gap”这个公众号,专注于分享AI全维度知识,包括但不限于AI科普,AI工具测评,AI效率提升,AI行业洞察。关注我,AI之…

VMware Workstation克隆虚拟机详细步骤

克隆虚拟机 首先我们先创建一台虚拟机,将该虚拟机关闭后,然后右键该虚拟机按照图下所示点击 克隆 下一页 下一页 这里按照需求选择克隆类型,我选择创建完整克隆。点击下一步 设置好虚拟机名称和位置,点击完成 稍微等待一会 点击 …

IPython小白教程:提升你的Python交互式编程技巧,通俗易懂!

IPython是一个增强的Python交互式shell,它提供了丰富的功能和便捷的交互方式,使得Python开发和数据分析工作更加高效。本文将详细介绍IPython的基本概念、使用方法、主要作用以及注意事项。 一、IPython简介 1. IPython的起源 IPython由Fernando Prez于…

.NET 通过UserInit键实现Windows权限维持

01阅读须知 此文所节选自小报童《.NET 内网实战攻防》专栏,主要内容有.NET在各个内网渗透阶段与Windows系统交互的方式和技巧,对内网和后渗透感兴趣的朋友们可以订阅该电子报刊,解锁更多的报刊内容。 02基本介绍 本文内容部分节选自小报童…

C++项目——负载均衡在线OJ

目录 前言 一、所用技术与开发环境 二、项目宏观结构 三、日志服务设计 四、compiler 编译服务设计 1.编译服务 2.运行服务 3.编译并运行服务 4.引入cpp-httplib库 4.1升级gcc版本 4.2cpp-httplib 4.3httplib的使用 五、oj_server服务设计 1. http路由选择 2.文…

预测准确率达95.7%,ChatMOF利用LLM预测和生成金属有机框架,包含人工智能词汇表(AI glossary)

预测准确率达95.7%,ChatMOF利用LLM预测和生成金属有机框架,包含人工智能词汇表(AI glossary)。 金属有机框架(MOF)因其孔隙率大、表面积大和出色的可调性而用于许多化学应用。然而,在利用 AI 深入探索 MOF 设计与性能优化的研究征途中,科学家们正面临着前所未有的挑战。…

2024中国第三方算力中心服务商发展研究报告

来源:科智咨询 近期历史回顾:《江苏省绿色建筑评价标识实施细则》(1).pdf 《江苏省绿色建筑评价标识实施细则》.pdf 【计算工具】钢铁企业碳排放各工序数据收集表.xlsx 【深度报告】钢铁产品碳足迹核算及报告指南.pdf 【专家PPT】宝钢低碳钢铁技术策划及…

Win10用户必看:最好用最稳定的版本在此,值得一试!

在Win10电脑操作中,用户可以根据的需要,下载安装不同的系统版本。现在,许多用户好奇Win10哪个版本最好用最稳定?接下来小编给大家推荐最好用最稳定的Win10版本,这些系统版本经过优化升级,相信会给大家带来最…

Win11最适合打游戏的版本推荐:畅玩游戏,告别卡顿!

在Win11电脑操作中,用户不仅可以进行办公、学习等操作,也可以畅玩喜欢的游戏。如果喜欢打游戏的用户,就可以安装上适合打游戏的系统版本。但许多新手用户不知道去哪里找到最适合打游戏的Win11系统版本?以下小编就给大家带来这样的…

视频集市新增支持多格式流媒体拉流预览

流媒体除了常用实时流外还有大部分是以文件的形式存在,做融合预览必须要考虑多种兼容性能力,借用现有的ffmpeg生态可以迅速实现多种格式的支持,现在我们将按需拉流预览功能进行了拓展,正式支持了ffmpeg的功能,可快捷方…

7个高效的TypeScript工具类型,你会用了吗?

在现代Web开发中,TypeScript几乎已经成为默认技术。TypeScript本身就提供了描述代码的方法,但工具类型(Utility Types)就像给你代码加上了“超能力”! 这些工具类型能让你的代码更清晰、更简洁,同时还能减少…

20240623(26.0) 重要财经新闻

财经关注 ► 券商中国:北交所于6月21日晚间受理了3家企业的IPO申请。6月20日晚间,沪深交易所各受理了1家IPO申请。这也意味着,三大交易所IPO受理全部恢复。与此同时,三大交易所IPO上市委会议也已经全部重启。 ► 全球多地近期遭遇…

【C++】Cmake入门|掌握cmake的基本操作

前言: CMake是开源、跨平台的构建工具,可以让我们通过编写简单的配置文件去生成本地的Makefile,这个配置文件是独立于运行平台和编译器的,这样就不用亲自去编写Makefile了,而且配置文件可以直接拿到其它平台上使用&am…

vue3import的插件全局引入

webpack 的引入 npm install -D unplugin-auto-import const AutoImport require(unplugin-auto-import/webpack).default;configureWebpack: {devtool: source-map,module: {rules: [{test: /\.mjs$/,include: /node_modules/,type: javascript/auto}],}, plugins: [Aut…

建材租赁管理系统软件教程,操作简单佳易王租赁管理系统操作教程

建材租赁管理系统软件教程,操作简单佳易王租赁管理系统操作教程 一、软件操作教程 以下软件操作教程以,佳易王租赁管理系统为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 租赁登记: a、租赁登记可以记录日…

Codeforces Round 954 (Div. 3) A B C D

A. X Axis time limit per test: 2 second memory limit per test: 256 megabytes input: standard input output: standard output You are given three points with integer coordinates x 1 x_1 x1​, x 2 x_2 x2​, and x 3 x_3 x3​ on the X X X axis ( 1 ≤ x i ≤ …

ROS2从入门到精通4-4:局部控制插件开发案例(以PID算法为例)

目录 0 专栏介绍1 控制插件编写模板1.1 构造控制插件类1.2 注册并导出插件1.3 编译与使用插件 2 基于PID的路径跟踪原理3 控制插件开发案例(PID算法)常见问题 0 专栏介绍 本专栏旨在通过对ROS2的系统学习,掌握ROS2底层基本分布式原理,并具有机器人建模和…

RFID技术在汽车轮胎加工工艺中的革新应用

RFID技术在汽车轮胎加工工艺中的革新应用 物联网技术的飞速发展,无线射频识别(Radio Frequency Identification,简称RFID)技术因其独特的优势,在各行各业中展现出巨大的应用潜力。特别是在汽车制造业,RFID…

Java反射详细总结

什么是反射? 反射,指的是加载类的字节码到内存,并以编程的方法解刨出类中的各个成分(成员变量、方法、构造器等)。 反射获取的是类的信息,那么反射的第一步首先获取到类才行。由于Java的设计原则是万物皆对…

【火猫体育】欧洲杯:苏格兰VS匈牙利焦点大战

北京时间6月24日,欧洲杯A组苏格兰VS匈牙利的焦点大战将正式打响。这场比赛对于苏格兰队来说不容有失,因为球队必须战胜对手才能有希望从小组赛出线,晋级本届欧洲杯16强。苏格兰在欧洲杯首战,就被东道主德国队上了一课。德国队在比…