0

0

C#的Minimal APIs是什么?.NET 6中构建轻量级C# API的新方式

煙雲

煙雲

发布时间:2025-11-29 14:19:33

|

884人浏览过

|

来源于php中文网

原创

Minimal APIs是.NET 6引入的轻量级Web API构建方式,允许在Program.cs中直接定义路由和处理逻辑,无需控制器和启动类,仅需几行代码即可创建HTTP服务。它基于ASP.NET Core底层功能,语法简洁,支持依赖注入、中间件、模型绑定、验证和OpenAPI等完整特性。使用dotnet new web命令可快速创建项目,通过MapGet、MapPost等方法添加路由,自动支持参数解析与JSON绑定。适用于小型REST接口、微服务、原型开发或学习场景,虽结构简单但功能完备,适合追求高效开发的场景。

c#的minimal apis是什么?.net 6中构建轻量级c# api的新方式

Minimal APIs 是 C# 中一种用于构建轻量级 Web API 的简洁方式,首次在 .NET 6 中正式引入。它让开发者无需依赖复杂的项目结构或大量配置代码,就能快速创建 HTTP 服务。特别适合小型服务、微服务或原型开发。

什么是 Minimal APIs?

Minimal APIs 允许你在 Program.cs 文件中直接定义路由和处理逻辑,省去了传统 ASP.NET Core 中的控制器(Controller)、启动类(Startup)等冗余结构。整个 API 只需几行代码即可运行。

它基于 ASP.NET Core 的底层功能,但使用更简单的语法,完全支持依赖注入、中间件、模型绑定、验证和 OpenAPI(Swagger)等功能。

如何创建一个 Minimal API?

使用 .NET 6 或更高版本,可以通过以下步骤快速搭建:

1. 创建项目

运行命令:

dotnet new web -n MyApi

2. 查看 Program.cs

你会看到非常简洁的代码:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/", () => "Hello World!");

app.Run();

这段代码就创建了一个响应根路径 GET 请求的 API。

Bolt.new
Bolt.new

Bolt.new是一个免费的AI全栈开发工具

下载

3. 添加更多路由

你可以轻松扩展 API 接口:

app.MapGet("/user/{id}", (int id) => $"User {id}");
app.MapPost("/save", (UserData data) => Results.Ok("Saved"));

其中 UserData 会自动绑定请求体(JSON),并支持验证。

支持的功能有哪些?

尽管叫“Minimal”,但它并不“简陋”。以下是常用功能支持情况:

  • 路由:支持 GET、POST、PUT、DELETE 等方法,带参数绑定
  • 模型绑定:自动从 JSON、表单、查询字符串中解析数据
  • 验证:可结合 Data Annotations 或 FluentValidation
  • 依赖注入:可通过 builder.Services.Add... 注册服务
  • 中间件:如认证、CORS、日志等均可通过 app.Use... 添加
  • OpenAPI 支持:集成 Swashbuckle 后自动生成文档

适合用在哪些场景?

Minimal APIs 特别适合:

  • 构建小型 REST 接口或内部工具 API
  • 微服务架构中的独立小服务
  • 学习 ASP.NET Core 或快速验证想法
  • 函数式风格的服务,减少样板代码

如果你需要复杂分层、大量控制器或高度结构化设计,传统 MVC 模式可能仍更合适。

基本上就这些。Minimal APIs 让 C# 开发轻量级后端变得更简单、更直观。不复杂但容易忽略细节,比如绑定规则或错误处理,用好它能大幅提升开发效率。

相关专题

更多
什么是中间件
什么是中间件

中间件是一种软件组件,充当不兼容组件之间的桥梁,提供额外服务,例如集成异构系统、提供常用服务、提高应用程序性能,以及简化应用程序开发。想了解更多中间件的相关内容,可以阅读本专题下面的文章。

178

2024.05.11

Golang 中间件开发与微服务架构
Golang 中间件开发与微服务架构

本专题系统讲解 Golang 在微服务架构中的中间件开发,包括日志处理、限流与熔断、认证与授权、服务监控、API 网关设计等常见中间件功能的实现。通过实战项目,帮助开发者理解如何使用 Go 编写高效、可扩展的中间件组件,并在微服务环境中进行灵活部署与管理。

212

2025.12.18

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

411

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

533

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

309

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

257

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

208

2023.09.04

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

9

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
C# 教程
C# 教程

共94课时 | 6.9万人学习

C 教程
C 教程

共75课时 | 4.1万人学习

C++教程
C++教程

共115课时 | 12.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号