问题标签 [asp.net-mvc-apiexplorer]

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 回答
1222 浏览

asp.net-core - 如何将 healthcheck 端点添加到 ApiExplorer,以便 Swashbuck 将其包含在生成的 swagger.json 中

我已经Microsoft.AspNetCore.Diagnostics.HealthChecks向我的应用程序添加了样式健康检查,正如Microsoft 在这里记录的那样

我也在使用Swashbuckle来生成一个招摇的文档。然后我使用NSwag生成一个客户端 API 供我的其他应用程序使用。

问题是MapHealthChecksStartup.cs中添加的运行状况检查端点没有被添加到ApiExplorer. 这是一个问题,因为它是 Swashbuckle 用来生成 swagger 文档的。

所以我的问题是将 healthcheck 端点添加到 ApiExplorer 以便 Swashbuckle 可以将其包含在 swagger 文件中的最佳方法是什么?

我试图手动添加健康检查端点添加 ApiExplorer(下面的代码)。应用程序运行成功,但 swagger 文档不包含端点。

0 投票
2 回答
3405 浏览

asp.net-core - 在 ASPNET Core 的路由中使用 ApiExplorerSettings GroupName

在 ASP.NET Core - Web API 项目中

[ApiExplorerSettings(GroupName = "<group-name>")]在 ApiController 和属性中使用装饰[Route]我想参考上面的GroupName属性值。

另请注意,我确实[ApiVersion("<some-version>")]在同一个控制器上进行了进一步分类。

以下是一些示例来解释:

示例 1:

LeadController 上的属性:[ApiVersion("1.0"), ApiExplorerSettings(GroupName = "sales"), [Route("api/{groupName}/v{version:apiVersion}/leads"]

预期的翻译路线格式:/api/sales/v1/leads

AccountsController 上的属性:[ApiVersion("2.1"), ApiExplorerSettings(GroupName = "finance"), [Route("api/{groupName}/v{version:apiVersion}/accounts"]

预期的翻译路线格式:/api/finance/v2.1/leads

上面{version:apiVersion}给了我ApiVersion价值(我假设是因为该属性已将 ToString 设置为版本值)。但是当我尝试{groupName}or{grp:groupName}{grp:ApiExplorerSettings.GroupName}- 它们都不起作用。如何在路由属性中访问该组名?

0 投票
1 回答
81 浏览

asp.net-core - [FromBody] 的招摇问题

我正在尝试将 swagger 集成到我们的应用程序中。我在一个独立的应用程序中尝试了这个,一切都很顺利。我对我们的应用程序进行了类似的更改,但是当我使用 [FromBody] 而不是 [FromQuery] 时,swagger 页面为空(未提供 API 定义)。

我不知道发生了什么;看起来枚举动作的过程正在崩溃。但我无法确认这一点,因为我没有在任何地方看到这个记录。我使用的是 4.0.1 版。

0 投票
0 回答
16 浏览

asp.net-mvc - 使用以下代码行在 Windows Server 2016 上执行 IronOCR 时,出现如下所述的错误

代码 :

错误: “InnerException”:{“Message”:“发生错误。”,
“ExceptionMessage”:“IronOcr.Extensions.oqqfzn 中的回退逻辑失败。”,
“ExceptionType”:“System.AggregateException”,
“StackTrace” :“在 IronOcr.Extensions.oqqfzn.get_muakdj() 在 IronOcr.Extensions.oqqfzn.xphtgm(Int32 dvu, Int32 dvv, Int32 dvw) 在 IronOcr.Extensions.oqqgab.Create(Int32 宽度, Int32 高度, Int32 深度) 在 IronOcr .Extensions.oqqgaa.xqiwis(Bitmap guw) at IronOcr.OcrInput.tmfvpw(Bitmap cv) at IronOcr.OcrInput.tmfvpv(Object ct, Nullable 1 cu) at IronOcr.OcrInput.tmfvpv(Object ct, Nullable1 cu)",
"InnerException":{
"Message": "发生错误.",
"异常消息": "无法初始化 IronOcr.Extensions.oqqfzn 本机库。",
"ExceptionType": "IronOcr.Extensions.oqqfzo",
“StackTrace”:“在 IronOcr.Extensions.oqqfzn.xphtgc() 在 IronOcr.Extensions.oqqfzn.xphtga()”,
“InnerException”:{
“Message”:“发生错误。”,
“ExceptionMessage”:“可能找不到或从任何名称加载本机库:[ leptonica-1.78.0.dll,liblept,liblept.dll ]”,
“ExceptionType”:“System.DllNotFoundException”,
“StackTrace”:“在 NativeLibraryLoader.WindowsNativeLibraryResolver.GetLibrary(字符串 libraryName, IEnumerable 1 LibraryNames, Boolean WindowsUsesMSVCBuild, IEnumerable1 Paths) at IronOcr.Extensions.oqqfzn.xphtgc()",
"InnerException": {
"Message": "An error has occurred.",
"ExceptionMessage": "一个或多个错误发生。",
"ExceptionType": "System.AggregateException",
"StackTrace": null,
"InnerException": {
“Message”:“发生错误。”,
“ExceptionMessage”:“加载'leptonica-1.78.0.dll'(5)时出错:”,
“ExceptionType”:“System.Exception”,
“StackTrace”:“在 NativeLibraryLoader.LibraryLoader.LoadNativeLibrary(String name, PathResolver pathResolver) 在 NativeLibraryLoader.LibraryLoader.LoadNativeLibrary(String[] names, PathResolver pathResolver)"
} } } } }

注意: 服务器上安装了 Microsoft Visual C++ Redistributable(x86 和 x64)的 2015-2022。