问题标签 [minimal-apis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
99 浏览

c# - 如何覆盖默认的内容类型

我有一个最小 API ( Project Sdk="Microsoft.NET.Sdk.Web" ) 应用程序,它有一个 GET 端点,我想返回一个图像/png。

终点是:

它为 png 图像返回正确的字节,但内容类型是八位字节流:

如何返回正确的内容类型?

0 投票
1 回答
149 浏览

c# - 如何在 .NET 6 中使用最少的 API 实现响应缓存?

为了实现响应缓存,需要做的就是:

  • 注入.AddResponseCaching()服务,
  • 用 . 装饰控制器动作[ResponseCache(Duration = 10)]

现在我正在尝试 .NET 6 附带的最小 API,除了自己添加标头之外,我还没有想出办法做到这一点cache-control: public,max-age=10

有没有更优雅的方式来做到这一点?

0 投票
1 回答
1911 浏览

c# - 如何在 .NET 6.0 中使用 MinimalApi 配置 NewtonsoftJson

我有net6.0最小 api 的项目,我想使用NetwtonsoftJson而不是内置System.Text.Json库来进行序列化和反序列化。

目前我有这个配置,JsonOptions并且可以按预期工作

如果我尝试更改为Newtonsoft.Json.JsonSerializerSettings类似下面使用的等效项,我不会得到相同的行为。相反,它看起来像使用默认System.Text.Json配置。

net5.0我知道我可以使用这个

但是,如果我在我的net6.0项目中像上面那样使用它,那么我不再使用 MinimalApi 了吗?

0 投票
2 回答
648 浏览

c# - .NET 6 中使用多个文件的最小 API

在 Net 6 中,可以创建最少的 API:

将端点分组到多个文件中而不是将所有端点都放在程序文件中的方法是什么?

0 投票
1 回答
407 浏览

asp.net-core - 是否可以将 AspNet Api 版本控制与 Net 6 Minimal API 一起使用?

我正在使用 Net 6 Minimal API:

是否可以将 AspNet Api 版本控制与 Net 6 Minimal API 一起使用?如何?

0 投票
1 回答
1365 浏览

c# - 如何在 .NET 6 最小 API Program.cs 中访问 DbContext

我试图在我的 Program.cs 文件中的应用程序启动时调用 EF Core 方法,使用 .NET 6 最小 API 模板并收到以下错误:

System.InvalidOperationException:'无法从根提供程序解析范围服务'Server.Infrastructure.DbContexts.AppDbContext'。'

对于早期版本的 .NET Core,我知道我可以在Configure方法中获取 DbContext,但是如何使用这种方法获取服务?

0 投票
1 回答
125 浏览

c# - 带有 .net 6 和 BsonDocument 字段类型的 MongoDB

我正在尝试从我的 MongoDB 数据库中检索对象列表。我必须使用 BsonDocument 在记录中存储额外的动态数据,但是当我尝试使用最少的 API 将列表返回给浏览器时,我收到以下错误。

我已经尝试在对象上使用 BsonExtraElements 属性(如docs)并得到相同的结果。

我在 Github 上放了一个最小的示例。我的基础对象如下:

我在文件上的唯一记录是:

我正在查询以下内容

如果我描述 BaseCollection 类中的每个字段,则输出有效。

额外的细节。.net 6 OSx MongoDB 云

0 投票
2 回答
1208 浏览

c# - ASP.NET Core 6.0 - 最少的 API:哪些参数可用于 Map 方法来处理路由?

我是 ASP.NET Core 6.0 中可用的 Minimal API 的新手,并且基于此处此处的 Microsoft 教程,可以为 Get 方法定义示例路由,如下所示:

对于 Post 方法,提供了以下代码:

在概述的其他部分中,引入了一些特殊类型,例如:HttpContext, HttpRequest, HttpResponse, ... ,并且似乎将它们作为参数注入到路由方法(Get,Post,...)中;所以所有这些参数都是可用的:

我的问题是:这里还有哪些其他参数可用:

0 投票
2 回答
401 浏览

c# - ASP.NET Core 6.0 - 最小 API:将 json 正文请求绑定到所需类的正确方法是什么?

我正在使用 ASP.NET Core 6.0 - Minimal APIs 开发一个非常简单的 REST API,对于其中一种Post方法,我需要验证请求的 json 正文。我用于System.ComponentModel.DataAnnotations此目的并且代码工作正常:

当 json 请求中的某个字段的类型不正确时,我的代码就会出现问题;例如这个示例 json 正文(to不再是 a string):

会引发以下错误:

显然它不再可以request转换为类型的对象,PostRequest但是处理这种情况的正确方法是什么?(定义request为类型object并检查每个属性的存在和类型似乎很难看)

进一步描述:我现在想知道如何捕获上述错误。

0 投票
1 回答
101 浏览

c# - 最小 api 的动态委托

各位程序员好。基本上,我想将动态构建的委托传递给最小的 api MapGet 或 MapPost 方法。这是构造委托的方法:

引用的方法“GetTypeInstance”只是从容器返回服务,但为简单起见,让它只是:

服务非常简单:

所以我想用这样的方法将get方法映射到最小的api:

为了测试动态委托是否有效,我用“DynamicInvoke”调用它,一切看起来都很好。但是,如果我将委托传递给 MapGet,则会引发错误:

System.InvalidOperationException: '参数没有名称!是生成的吗?必须命名所有参数。

我似乎无法理解发生了什么。如果由 DynamicInvoke 调用,委托可以正常工作,并且在所有参数内部都有名称。