问题标签 [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.
c# - 如何覆盖默认的内容类型
我有一个最小 API ( Project Sdk="Microsoft.NET.Sdk.Web" ) 应用程序,它有一个 GET 端点,我想返回一个图像/png。
终点是:
它为 png 图像返回正确的字节,但内容类型是八位字节流:
如何返回正确的内容类型?
c# - 如何在 .NET 6 中使用最少的 API 实现响应缓存?
为了实现响应缓存,需要做的就是:
- 注入
.AddResponseCaching()
服务, - 用 . 装饰控制器动作
[ResponseCache(Duration = 10)]
。
现在我正在尝试 .NET 6 附带的最小 API,除了自己添加标头之外,我还没有想出办法做到这一点cache-control: public,max-age=10
。
有没有更优雅的方式来做到这一点?
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 了吗?
c# - .NET 6 中使用多个文件的最小 API
在 Net 6 中,可以创建最少的 API:
将端点分组到多个文件中而不是将所有端点都放在程序文件中的方法是什么?
asp.net-core - 是否可以将 AspNet Api 版本控制与 Net 6 Minimal API 一起使用?
我正在使用 Net 6 Minimal API:
是否可以将 AspNet Api 版本控制与 Net 6 Minimal API 一起使用?如何?
c# - 如何在 .NET 6 最小 API Program.cs 中访问 DbContext
我试图在我的 Program.cs 文件中的应用程序启动时调用 EF Core 方法,使用 .NET 6 最小 API 模板并收到以下错误:
System.InvalidOperationException:'无法从根提供程序解析范围服务'Server.Infrastructure.DbContexts.AppDbContext'。'
对于早期版本的 .NET Core,我知道我可以在Configure
方法中获取 DbContext,但是如何使用这种方法获取服务?
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
并检查每个属性的存在和类型似乎很难看)
进一步描述:我现在想知道如何捕获上述错误。
c# - 最小 api 的动态委托
各位程序员好。基本上,我想将动态构建的委托传递给最小的 api MapGet 或 MapPost 方法。这是构造委托的方法:
引用的方法“GetTypeInstance”只是从容器返回服务,但为简单起见,让它只是:
服务非常简单:
所以我想用这样的方法将get方法映射到最小的api:
为了测试动态委托是否有效,我用“DynamicInvoke”调用它,一切看起来都很好。但是,如果我将委托传递给 MapGet,则会引发错误:
System.InvalidOperationException: '参数没有名称!是生成的吗?必须命名所有参数。
我似乎无法理解发生了什么。如果由 DynamicInvoke 调用,委托可以正常工作,并且在所有参数内部都有名称。