gpt4 book ai didi

c# - swagger.json 路径和定义为空。规范中未定义任何操作

转载 作者:太空宇宙 更新时间:2023-11-03 14:46:04 26 4
gpt4 key购买 nike

我正在开发一个 .netcore 网络应用程序。我正在使用 Swagger ,我已经做了所有必要的调整。不幸的是,它不起作用,我只是在 swagger 输出页面中看到 No operations defined in spec!

/swagger/v1/swagger.json 的 swagger 文件包含以下内容:

{
"swagger": "2.0",
"info": {
"version": "v1",
"title": "Something"
},
"paths": {},
"definitions": {}
}

我想在 swagger 输出页面中查看我的 Controller 及其操作。

最佳答案

经过一些研究,我发现我的问题是关于在 .NetCore2.1 中使用 swagger 和 OData。我找到了解决这个问题的方法。

首先我添加了以下两个 Nuget 包:

Swashbuckle.AspNetCore
Swashbuckle.AspNetCore.Annotations

然后,我在 Startup.cs 中添加了以下代码

services.AddMvc(options => {
foreach (var outputFormatter in
options.OutputFormatters.OfType<ODataOutputFormatter>().Where(_ =>
_.SupportedMediaTypes.Count == 0))
{
outputFormatter.SupportedMediaTypes.Add(new
MediaTypeHeaderValue("application/prs.odatatestxx-odata"));
}
foreach (var inputFormatter in
options.InputFormatters.OfType<ODataInputFormatter>().Where(_ =>
_.SupportedMediaTypes.Count == 0))
{
inputFormatter.SupportedMediaTypes.Add(new
MediaTypeHeaderValue("application/prs.odatatestxx-odata"));
}
}).SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

我在 Controller 中添加了以下代码行:

[ApiExplorerSettings(IgnoreApi = false)] 

请注意,它对我有用,但可能需要更多研究以了解最终的副作用

关于c# - swagger.json 路径和定义为空。规范中未定义任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54159987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com