问题标签 [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 回答
52 浏览

c# - 为最小 API 创建小写 URL

说,我有以下最小的 API:

当我通过 non-existingid时,我得到以下 JSON:

问题是字母Iinrequested_Id不是小写的,虽然我在Configure<RouteOptions>. 但是当我开始使用成熟的控制器时,我正确地得到了requested_id. 我如何达到同样的效果MapGet

0 投票
1 回答
382 浏览

c# - ASP.NET Minimal API 如何从 URL 返回/下载文件

我正在研究最小的 api,我正在尝试的是当用户访问/download它时立即下载我名为add.png.

但无论我尝试什么,它都不起作用,因为我要么得到一个空页面,只有{}

这可能吗?如果是这样

这是我迄今为止尝试过的代码。(我被该位置的所有权限拒绝访问!)

当用户在我的 api 中执行 /download 以下载文件时,我该怎么做?

提前致谢

0 投票
0 回答
130 浏览

c# - ASP.NET Core 6.0 - 如何在最小 API 中使用 JsonPatch?

我在https://docs.microsoft.com/en-us/aspnet/core/web-api/jsonpatch?view=aspnetcore-6.0中看到JsonPatch了功能,但它适用于 MVC。当我在以下代码中执行此操作时:

Program.cs

PlayerModule.cs

哪里PlayerSchema是:

PATCH /api/portal/player/1用身体打电话:

并且JsonPatchDocument始终为空(不为空,只是 Count=0)。

此功能的最小 API 替代方案是什么,或者它应该与 MVC 一样工作?

0 投票
1 回答
74 浏览

c# - 是否可以使用具有最少 API 的托管启动程序集?

我正在使用这个包:Microsoft.ApplicationInsights.Kubernetes.HostingStartup. 这是使用 ASP.NET Core 的托管启动功能来注册应用程序洞察力。如果项目是带有控制器的 Web api,它工作正常,但在尝试使用最少的 API 时出现异常:

是否可以使用最少的 API 和托管启动?

0 投票
0 回答
38 浏览

c# - 有没有办法在最小的 API 招摇中解决 oauth2 身份验证错误

我正在使用 swagger 开发最小的 API,并且无需任何身份验证即可正常工作。但是当我添加身份验证时,它会显示错误。

这是我使用的代码。

应用设置.json

程序.cs

当我运行项目时,它向我显示以下错误

在此处输入图像描述

注释掉 operationfilter 方法后,错误消失但授权仍然不起作用。

0 投票
1 回答
76 浏览

.net - Web API 可以做更多的 CRUD 操作吗?

我有一个客户端(Blazor 服务器)应用程序,它使用 Web API 从 SQL 数据库获取数据。我的数据库包含一个“客户”表。我的 Web API 包含 CRUD(创建、读取、更新、删除)端点,如下所示:

(创建客户) HTTP POST → "/api/customers"
(读取客户) HTTP GET → "/api/customers/{id}"
(更新客户) HTTP PUT → "/api/customers"
(删除客户) HTTP DELETE → “/api/customers/{id}”

但我想知道添加这样的端点(除 CRUD 之外)是否也是一种好习惯?

(检查客户名称是否存在) HTTP GET → "/api/customers/name-exist/{name}"
(获取客户数量) HTTP GET → "/api/customers/count/"

0 投票
0 回答
120 浏览

asp.net-core-webapi - 无法在 ASP.NET Core 6.0 最小 API 中为模型/类添加 [FromHeader] 属性

我正在尝试在 .NET 核心最小 API 中添加多个自定义标头,因此我[FromHeader]在输入参数前面添加了属性。

它工作正常,我可以大摇大摆地看到那些标题。

但我正在寻找一种更好的方法将所有这些标头保存到类/模型中,并尝试通过[FromHeader]在该模型前面使用属性将其添加到 API 标头中。

这样,我收到此错误

找不到标头的公共静态布尔方法 Testheader.tryparse(string,out TestHeaders) 找到的方法

这是代码:

模型

我的问题:有没有办法将所有这些标头保存在单个类/模型中并[FromHeader]在控制器中为该特定类添加属性?

这种方法在以前的 .net 核心版本中有效,但在 6.0 中无效,有什么具体原因吗?或者我在这里遗漏了什么?

0 投票
1 回答
174 浏览

c# - 如何将 ASP.NET Core Minimal API 演变为完整的控制器模型

我的老师今天告诉我,Minimal API 允许从最少的代码开始,并随着时间的推移发展应用程序,最终将控制器文件夹和自动路由作为传统的 ASP.NET Coree MVC 应用程序/API。

我喜欢用一个简单的文件以如此简单的方式映射所有路由来快速开始开发的想法,但我希望有一种方法可以在它变得混乱或开发变得更加严肃或客户/老师要求它而不编码时将其转换为完整路由一切从头再来。

最初,我只想要一种简单的方法来让 Postgres 迁移、我的连接字符串appsettings.json、Swagger、JWT+SocialLogin 以及将我的模型也放在一个单独的项目中会很棒。

我正在搜索并刚刚找到一篇 Microsoft文章,但没有关于以传统方式转向路由的内容。

它也在这里弹出:Net 6 Minimal API 中的控制器和端点

0 投票
1 回答
372 浏览

asp.net-core - 对 ASP.NET Core 6 的 POST 请求的错误请求 (400),最小 API,从 Postman 发送

为什么在使用 Postman 测试 ASP.NET CORE 最小 API 应用程序时收到 400 个错误请求?

默认 VS 2022 ASP.NET 核心最小 API 项目,具有以下方法处理程序:

DTO:

Windows 10 或 Ubuntu 卷曲工作正常:

回复:

“回声:测试”

但是邮递员得到 400:

在此处输入图像描述

邮递员标头:

在此处输入图像描述

编辑:邮递员回复:

它抱怨它无法绑定到 DTO AnalizeSentenceRequest r

我尝试将 [FromBody] 属性添加到处理程序:

但这没有什么区别。

虽然它适用于卷曲......所以看起来邮递员正在搞乱身体,但它可能是什么?

完整回复:

0 投票
1 回答
47 浏览

c# - 在 .NET 6 Minimal API 中使用 IEnumerable<> 和 IFormFileCollection

问题是,我有一个从 Urls 连接 pdf 的 API,它在 .NET 5 中工作,但是当开始迁移到 .NET 6 时,使用 IEnumerable<> 、 IFormFile 和 IFormFileCollection ,只接受请求 application/json .

这是 .NET 5 (Working) 中的端点

结果:Imagem 1(.net 5)

Minimal .net6 中的端点也是如此

但结果是这样的:Imagem 2 (.net 6)

问题是,为什么 IEnumerable 没有相同的行为?如果有任何解决方案,例如使用 IOperationFilter,以便我可以使其工作。

IFormFileCollection 接口有同样的问题