新闻中心

C# 如何实现一个简单的Web API - ASP.NET Core Minimal APIs入门

2025-12-03
浏览次数:
返回列表
ASP.NET Core Minimal APIs 是从 .NET 6 开始引入的轻量级 Web API 开发方式,仅需少量代码即可定义 HTTP 接口,无需控制器和复杂结构,适合原型开发、微服务及简单后端。

c# 如何实现一个简单的web api - asp.net core minimal apis入门

想快速搭建一个轻量级的Web API?ASP.NET Core Minimal APIs 是个理想选择。它从 .NET 6 开始引入,让你用极少的代码定义 HTTP 接口,无需控制器或复杂的项目结构。适合原型开发、微服务或简单后端接口。

创建 Minimal API 项目

打开终端,运行以下命令创建新项目:

dotnet new web -n MyMinimalApi
cd MyMinimalApi
dotnet run

这会生成一个极简的 ASP.NET Core 项目,包含一个 Program.cs 文件,没有 Controllers 文件夹。默认代码已实现一个返回 "Hello World!" 的 GET 接口。

定义基本路由和HTTP方法

Minimal APIs 使用委托来处理请求,直接在 WebApplication 实例上注册路由。例如:

  • GET 请求:获取数据
app.MapGet("/hello", () => "Hello from Minimal API");
  • POST 请求:接收 JSON 数据
  • app.MapPost("/data", (User user) => Results.Ok($"Received: {user.Name}"));

    其中 User 是一个简单的类:

    record User(string Name, int Age);
    • PUT/DELETE:更新或删除资源
    • app.MapPut("/user/{id}", (int id, User user) => Results.NoContent());
      app.MapDelete("/user/{id}", (int id) => Results.Ok($"Deleted user {id}"));

      返回不同响应类型

      使用 Results 静态类可以方便地返回标准 HTTP 响应:

      Remover Remover

      几秒钟去除图中不需要的元素

      Remover 304 查看详情 Remover
      • Results.Ok(data):返回 200 和数据
      • Results.NotFound():返回 404
      • Results.BadRequest():返回 400
      • Results.Created(path, data):返回 201 和创建的资源

      示例:

      app.MapGet("/users/{id}", (int id) =>
      {
      if (id == 1) return Results.Ok(new User("Alice", 30));
      return Results.NotFound();
      });

      启用跨域和添加Swagger

      开发中常需 Swagger 查看接口和跨域支持。在 Program.cs 添加:

      builder.Services.AddEndpointsApiExplorer();
      builder.Services.AddSwaggerGen();

      并在中间件中启用:

      if (app.Environment.IsDevelopment())
      {
      app.UseSwagger();
      app.UseSwaggerUI();
      }

      访问 https://localhost:5001/swagger 即可查看 API 文档。

      基本上就这些。Minimal APIs 把简洁做到了极致,适合快速交付小功能。随着需求增长,也可以逐步引入依赖注入、验证、日志等特性。不复杂但容易忽略细节,比如模型绑定和错误处理,后续可按需扩展。

以上就是C# 如何实现一个简单的Web API - ASP.NET Core Minimal APIs入门的详细内容,更多请关注其它相关文章!


# 不需要  # 重庆品质网站推广前景  # 中阳国产网站推广咨询公司  # seo标题怎么操作  # 谷歌竞价与seo对比  # 福永seo优化方案  # 惠州seo推广推荐  # 服务seo优化哪家好  # 广西互联网营销推广服务  # 深圳网站建设与优化  # 黑河搜索引擎关键词排名  # 相关文章  # 是从  # 并在  # web api  # 是个  # 是一个  # 程序开发  # 仅是  # 如何实现  # .net  # 跨域  # 路由  # 后端  # app  # json  # js  # c# 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: AO3镜像入口大全 AO3网页版内容访问全集  《噬血代码2》新预告片发布 展示游戏剧情  学习通在线学习平台 学习通网页版直接进入课程中心  铁路12306官网网页端快速入口 铁路12306官方首页登录教程  解决 Vaadin 8 中大文件音频播放与定位时出现的 IOException  Win10桌面图标出现小盾牌怎么办 Win10去除UAC图标教程【解决】  抖音隐秘迷城小游戏入口_ 抖音冒险解谜小游戏秒玩  使用Python高效删除Word宏并转换DOCM为DOCX格式  Win11怎么用U盘重装系统 Win11制作启动盘并重装系统完整教程【详解】  高德地图怎么看全景照片_高德地图全景照片浏览教程  优化MinIO list_objects_v2 操作的性能瓶颈与最佳实践  优化HTML表单样式:解决输入框焦点跳动与元素间距问题  qq游戏网页版直接玩_qq游戏免下载快速入口  html两个JS只运行一个怎么办_让双JS在html中都运行方法【技巧】  实现分段式页面滚动导航:CSS与J*aScript教程  2026春节假期时间安排 2026春节假日查询  NVIDIA股价11月重挫12%:下月有望好转 但难回5万亿美元巅峰  从OpenAI API响应中高效提取生成文本  C++如何实现一个智能指针_手动实现C++ shared_ptr的引用计数功能  J*a最大堆Heapify方法修复:索引计算与边界条件深度解析  DLsite中文平台入口 DLsite官网内容在线查看  Typer应用中动态命令行参数的解析与处理  J*aScript中高效清空DOM列表元素:解决for循环中断与任务管理问题  Sublime怎么配置Nim语言环境_Sublime Nim代码高亮与补全  抖音小游戏合成大西瓜免费秒玩入口链接 抖音小游戏热门合集秒玩网站  Lar*el如何正确地在控制器和模型之间分配逻辑_Lar*el代码职责分离与架构建议  J*aScript教程:根据元素文本内容动态设置背景色  J*aScript中赋值与自增运算符的复杂交互与执行机制  小猿搜题在线学习页面在哪_小猿搜题在线学习中心入口  荒野行动PC版怎么注册_荒野行动PC版账号注册详细流程图文教程  qq游戏大厅官方下载_qq游戏免费下载安装入口  格力空气能E5故障代码是什么情况_格力空气能E5代码解析与应对措施  小红书商家版怎样在笔记嵌入商品卡路径_小红书商家版在笔记嵌入商品卡路径【挂载教程】  蛙漫官方正版入口 蛙漫网页在线全集免费观看  Python vgamepad库按键模拟:正确使用XUSB_BUTTON常量  《主播少女的秘密账号迷宫》首支宣传片  J*a实现学校排课程序_面向对象结构化项目示例  J*aScriptWebpack优化_J*aScript构建工具实战  AO3官方镜像站点汇总 AO3同人作品网页版直达链接  vivo云服务网页版登录 怎么登录vivo云服务网页版  12306选座如何查看座位示意图_12306座位示意图解读与使用  汽水音乐车机版8.9下载 汽水音乐车机版8.9版本安装入口  J*a应用程序首次运行自动创建文件与目录的最佳实践  星露谷物语官网入口 星露谷物语游戏官网入口  html怎么运行外部js文件中的函数_运html外js文件函数法【技巧】  Go语言中动态执行代码字符串的策略与实践  双系统安装时,如何设置默认启动系统? msconfig命令了解一下!  想当下一个《2077》?《心之眼》Steam评价升至"多半好评"  优化 Jest 模拟:强制未实现函数抛出错误以提升测试效率  邮政编码查询不到怎么办_邮政编码查询不到的常见原因与对策 

搜索