新闻中心

Minimal API怎么用 .NET 6 Minimal API入门教程

2025-12-16
浏览次数:
返回列表
Minimal API 是 .NET 6 引入的极简 Web API 开发方式,无需 Controller 和类库结构,几行代码即可运行接口服务,适用于原型开发、微服务及轻量后台。

minimal api怎么用 .net 6 minimal api入门教程

Minimal API 是 .NET 6 引入的极简 Web API 开发方式,不用写 Controller、不用定义类库结构,几行代码就能跑起一个可访问的接口服务。它适合快速验证逻辑、搭建微服务、做原型或轻量后台。

创建 Minimal API 项目

用 CLI 最快:打开终端,执行

dotnet new web -n MyApi
cd MyApi
dotnet run

项目默认监听 http://localhost:5000https://localhost:5001,浏览器打开就能看到 “Hello World!”。

注意:新建时别勾选 “Use Controllers”,否则会生成传统 Web API 模板。

定义基础路由和响应

打开 Program.cs,你会看到类似这样的结构:

var app = WebApplication.Create(args);
app.MapGet("/", () => "Hello World!");
app.Run();

常用方法有:

  • MapGet:处理 GET 请求(如获取数据)
  • MapPost:处理 POST 请求(如提交 JSON)
  • MapPut / MapDelete:对应更新和删除

参数自动绑定规则:

  • 简单类型(stringintGuid等)→ 默认从 query 或 route 获取
  • 复杂类型(如 User 类)→ 默认从 request body 解析 JSON
  • 想强制指定来源?加特性,比如 [FromQuery][FromBody][FromRoute]

接入依赖注入和服务

Minimal API 完全支持 .NET 的 DI 容器。先在 builder.Services 中注册服务,再在 handler 中通过参数注入:

Gaga Gaga

曹越团队开发的AI视频生成工具

Gaga 1151 查看详情 Gaga

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddScoped();
var app = builder.Build();
app.MapGet("/users", ([FromServices] IUserService service) => service.GetUsers());

也可以直接用 [FromServices] 标记参数,框架自动从容器解析。

加 Swagger 文档(调试友好)

开发阶段建议加上 Swagger,方便查看和测试接口:

builder.Services 部分添加:

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

app 部分添加:

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

运行后访问 /swagger 就能看到自动生成的文档页面。

基本上就这些——没控制器、不写 Startup、不配路由表,写完保存就能跑。越小的项目,Minimal API 越省事;等接口多了,再拆到独立文件或按模块组织也不难。

以上就是Minimal API怎么用 .NET 6 Minimal API入门教程的详细内容,更多请关注其它相关文章!


# 你会  # 沙洋网站建设ppt  # 郑州关键词排名使用方法  # 母婴视频推广营销  # 佛山营销推广要多少钱  # 崇义关键词优化排名  # 昆山网站建设全攻略  # 平湖怎样在网站推广  # 营销策略微信推广  # 利于 seo的前端框架  # 云阳律师网站推广平台  # 相关文章  # 适用于  # js  # 序列化  # 文档  # 类库  # 几行  # 如何将  # 新和  # 就能  # .net  # 路由  # app  # 浏览器  # json 


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


相关推荐: 如何使用Go和Martini动态服务解码后的图片  EMS快递官网app_中国邮政速递物流手机客户端  微博网页版怎么开启两步验证_微博网页版账号安全两步验证设置方法  qq游戏手机版下载安装_qq游戏移动端入口  win11如何加载ICC颜色配置文件 Win11校色文件安装与显示器色彩管理【指南】  抖音怎么赚钱_抖音创作者变现方法与途径指南  HuggingFaceEmbeddings中向量嵌入维度调整的限制与理解  Go语言中动态执行代码字符串的策略与实践  优化 Python 函数中的条件逻辑:解决 if-else 嵌套与参数选择问题  AO3最新官网入口公告_2025AO3镜像站实时查询方法  C#如何安全地从用户上传的XML文件中读取数据? 验证与清理策略  漫蛙MANWA漫画主页官方入口 漫蛙漫画最新在线阅读地址  j*a toString()的覆盖  sublime侧边栏怎么增强功能_SideBarEnhancements for sublime安装与配置  大象笔记网页版入口 印象笔记网页版登录入口  QQ邮箱登录官网首页 腾讯QQ邮箱网页入口  CSS Grid如何控制元素对齐_align-items与justify-items组合使用  将HTML动态表格多行数据保存到Google Sheet的教程  Win10自动更新怎么关闭 Win10永久关闭系统更新的两种方法【终极版】  mcjs网页版流畅运行 mcjs低配电脑畅玩入口  魅族20怎样在浏览器开无图省流_iPhone魅族20浏览器开无图省流【流量节省】  支付宝如何管理隐私设置_支付宝隐私保护的配置技巧  Windows7怎么硬盘安装 Windows7提取ISO镜像到非系统盘并运行setup.exe实现硬盘直装【教程】  126邮箱账号注册 电脑版登录入口  PostgreSQL海量数据高效导入策略:Python与Django实践指南  React Router 嵌套组件中 URL 重定向问题的解决方案  Composer的 "licenses" 命令如何帮助你遵守开源协议_检查项目依赖的许可证合规性  J*aScript中赋值与自增运算符的复杂交互与执行机制  解决Python单元测试中Mock异常方法调用计数为零的问题  微信网页版登录教程_微信网页版登录入口在哪  单射、满射与双射的关系 一文理清所有逻辑  BetterDiscord插件中安全更新用户简介的实践指南  MAC的“快捷指令”怎么同步到iPhone_MAC利用iCloud同步所有设备的自动化指令  Excel文件在线转换快速入口 Excel在线格式转换网站  J*aScript中管理异步API调用:确保操作顺序与数据一致性  解决macOS Tkinter应用双击启动崩溃:PyInstaller打包指南  sublime怎么进行远程开发编辑_配置rsub/rmate实现sublime编辑服务器文件  顺丰国际快递查询 国际件官方查询入口  Yandex免登录网页版地址 Yandex搜索引擎官方访问入口  谷歌浏览器最新官方入口链接 谷歌浏览器网页版官网导航  Win10桌面图标出现小盾牌怎么办 Win10去除UAC图标教程【解决】  千牛数据看板网页版_千牛数据看板网页版访问方法  C#使用XPath查询节点时出错? 常见语法错误与调试技巧  在J*a中如何开发简易博客标签推荐系统_博客标签推荐项目实战解析  微博网页版直接访问 微博网页版账号管理快速入口  高德地图怎么看全景照片_高德地图全景照片浏览教程  b站怎么删除评论_b站评论管理与删除操作  Tailwind CSS line-clamp 布局问题解析与修复指南  sublime怎么预览Markdown渲染效果_Markdown Preview插件 for sublime教程  Go RPC HTTP服务正确实现与常见陷阱解析 

搜索