gpt4 book ai didi

c# - 在架构定义中找不到类型名称

转载 作者:太空狗 更新时间:2023-10-29 23:43:35 25 4
gpt4 key购买 nike

我已经开始将 Swashbuckle 与 Web API 结合使用。我的所有类型都没有在我的 Swagger UI 中正确呈现。在每种方法上,我都会看到类似这样的内容(未呈现):

<span class="strong">Typename is not defined!</span>

所以我进行了调查,并在我的许多方法的 Swagger 定义文件中找到了这一点:

{$ref: "#/definitions/Typename", vendorExtensions: {}}

typeName 存在于定义列表中...但它是小写的。它们都是小写的,但是所有的 $ref 都是大写的。

我该如何解决这个问题?

赏金编辑:可根据要求提供更多信息,我只是不确定还有什么可能相关。

[assembly: WebActivatorEx.PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]

public class SwaggerConfig
{
public static void Register()
{
var thisAssembly = typeof(SwaggerConfig).Assembly;

GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
c.SingleApiVersion("v1", "MyNamespace.Api");
c.IncludeXmlComments(Path.Combine(
AppDomain.CurrentDomain.GetDataDirectoryPath(),
"MyNamespace.Api.XML"));

})
.EnableSwaggerUi();
}
}

最佳答案

我几乎是偶然发现的。由于我还不明白的原因,我需要让我的类型名称以小写字母开头,而其他人似乎没有这样做。

c.SchemaId(type => 
{
var name = type.Name;
name = $"{ name.Substring(0,1).ToLower() }{ name.Substring(1) }";
});

关于c# - 在架构定义中找不到类型名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42817486/

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