MinimalApis.Extensions 0.11.0
dotnet add package MinimalApis.Extensions --version 0.11.0
NuGet\Install-Package MinimalApis.Extensions -Version 0.11.0
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用了 NuGet 模块版本的 Install-Package。
<PackageReference Include="MinimalApis.Extensions" Version="0.11.0" />
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用此包。
paket add MinimalApis.Extensions --version 0.11.0
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获取支持。
#r "nuget: MinimalApis.Extensions, 0.11.0"
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将此内容复制到交互式工具或脚本的源代码中以引用包。
// Install MinimalApis.Extensions as a Cake Addin #addin nuget:?package=MinimalApis.Extensions&version=0.11.0 // Install MinimalApis.Extensions as a Cake Tool #tool nuget:?package=MinimalApis.Extensions&version=0.11.0
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获取支持。
MinimalApis.Extensions
一组扩展和助手,可扩展 ASP.NET Core 最小 API 的功能。
安装
NuGet 发布
此包目前在 nuget.org 上可用
> dotnet add package MinimalApis.Extensions
CI 构建
如果您希望使用此存储库的 main
分支的构建,您可以从 此存储库的包源 安装它们。
为您的 GitHub 帐户创建一个具有
read:packages
范围的 个人访问令牌,并设置所需的有效期长度在命令行中,导航到您的用户配置文件目录,然后运行以下命令将包源添加到您的 NuGet 配置中,将
<GITHUB_USER_NAME>
和<PERSONAL_ACCESS_TOKEN>
占位符替换为相关值~> dotnet nuget add source -n GitHub -u <GITHUB_USER_NAME> -p <PERSONAL_ACCESS_TOKEN> https://nuget.pkg.github.com/DamianEdwards/index.json
现在您应该能够添加一个指定版本的包引用来 存储库包源
有关使用 GitHub 包源的其他详细信息,请参阅 这些说明
入门
- 将 NuGet 包安装到您的 ASP.NET Core 项目
> dotnet add package MinimalApis.Extensions
- 仅适用于.NET 6.0项目 在您的项目中的
Program.cs
文件中,调用builder.Services
上的AddEndpointsMetadataProviderApiExplorer()
方法以在ApiExplorer
中启用增强的端点元数据var builder = WebApplication.CreateBuilder(args); builder.Services.AddEndpointsMetadataProviderApiExplorer(); // <-- Add this line in .NET 6.0 projects builder.Services.AddSwaggerGen(); ...
- 更新您的Minimal APIs以使用此库中的过滤器、绑定和结果类型,例如:
app.MapPut("/todos/{id}", async Task<Results<NotFound, NoContent>> (int id, Todo todo, TodoDb db) => { var existingTodo = await db.Todos.FindAsync(id); if (existingTodo is null) return TypedResults.NotFound(); existingTodo.Title = todo.Title; existingTodo.IsCompleted = todo.IsCompleted; await db.SaveChangesAsync(); return TypedResults.NoContent(); }) .WithParameterValidation();
包含内容:
此库提供了帮助扩展ASP.NET Core Minimal APIs核心功能的类型,方式如下:
- 通过
IParameterBinder
和Bind<TValue>
、Body<TValue>
、JsonFormFile
等提供增强的参数绑定 - 通过
Results.Extensions
提供PlainText
、Html
和UnsupportedMediaType
等额外的结果类型 - 对于.NET 7.0应用程序,提供一个端点过滤器,用于验证路由处理程序参数,并在验证失败时自动响应验证问题
- 包括用于.NET 6.0项目的.NET 7.0特性填充
- 提供易于进行单元测试的泛型
IResult
对象(通过TypedResults
提供),包括IStatusCodeHttpResult
、IContentTypeHttpResult
和IValueHttpResult
接口 - 通过输入和结果类型通过
IEndpointParameterMetadataProvider
和IEndpointMetadataProvider
填充端点元数据,自动在 Swagger/OpenAPI 中填充详细的端点描述 - 通过
Results<TResult1, TResultN>
联合IResult
返回类型,允许路由处理程序委托声明它们可以返回的所有可能的IResult
类型,启用编译时类型检查,并自动从类型信息中填充所有可能的响应到 Swagger/OpenAPI 中
- 提供易于进行单元测试的泛型
示例项目
TodoApis.Dapper
一个使用 ASP.NET Core Minimal APIs 和 Dapper 库存 SQLite 中进行数据存储的待办事项应用的示例。
MinimalApis.Examples
包含此库中其他类型的简单示例。
MinimalApiPlayground
展示了许多使用此库中的类型以及与 ASP.NET Core Minimal APIs 相关的其他事物的示例。
产品 | 版本 兼容的和额外的计算目标框架版本。 |
---|---|
.NET | net6.0 兼容。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 兼容。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
-
net6.0
- MiniValidation (>= 0.8.0)
-
net7.0
- Microsoft.OpenApi (>= 1.4.3)
- MiniValidation (>= 0.8.0)
NuGet 包 (1)
显示依赖于 MinimalApis.Extensions 的前1个 NuGet 包
包 | 下载 |
---|---|
VeoTech.Core.Api.Shared
Veo云团队中仓库之间的共享库。此库中不包含业务逻辑、密钥或其他敏感数据,仅包含仓库之间的共享功能以及几个常见的测试类。 |
GitHub 仓库 (6)
显示依赖于 MinimalApis.Extensions 的前5个流行的 GitHub 仓库
仓库 | 星标数 |
---|---|
mehdihadeli/food-delivery-microservices
🍔 一个实用和虚构的食品和杂货配送微服务,使用 .Net 8、MassTransit、领域驱动设计、CQRS、垂直切片架构、事件驱动架构以及最新技术构建。
|
|
DamianEdwards/MinimalApiPlayground
我尝试新 ASP.NET Core 最简 API 功能的地方。
|
|
mehdihadeli/food-delivery-modular-monolith
🌭 一个实用和虚构的食品和杂货配送模块化单体架构,使用 .Net 8、领域驱动设计、CQRS、垂直切片架构、事件驱动架构以及最新技术构建。
|
|
davidfowl/uController
为最简 API 创建源生成器
|
|
ardalis/WebApiBestPractices
有关我 Pluralsight 课程这一主题的资源。
|
版本 | 下载 | 最后更新 |
---|---|---|
0.11.0 | 137,947 | 6/22/2023 |
0.10.1 | 27,853 | 12/21/2022 |
0.10.0 | 4,437 | 11/29/2022 |
0.9.1-pre.20221114.39 | 400 | 11/14/2022 |
0.9.0-pre.20221011.36 | 6,518 | 10/11/2022 |
0.8.0-pre.20220915.33 | 3,977 | 9/15/2022 |
0.7.2-pre.20220906.32 | 128 | 9/6/2022 |
0.7.1-pre.20220712.30 | 3,884 | 7/12/2022 |
0.7.0-pre.20220528.28 | 16,255 | 5/28/2022 |
0.6.0-pre.20220429.27 | 3,895 | 4/29/2022 |
0.5.2-pre.20220322.22 | 2,172 | 3/22/2022 |
0.5.1-pre.20220322.18 | 139 | 3/22/2022 |
0.5.0-pre.20220321.15 | 4,505 | 3/21/2022 |
0.4.1-pre.20211113.13 | 3,099 | 11/13/2021 |
0.4.0-pre.20211113.12 | 523 | 11/13/2021 |
0.3.1-pre.20211113.11 | 244 | 11/13/2021 |
0.3.1-pre.20211111.10 | 534 | 11/11/2021 |
0.3.0-pre.20211110.9 | 177 | 11/10/2021 |
0.1.0-pre.20211027.5 | 497 | 10/27/2021 |