相关疑难解决方法(0)

自定义生成的模型名称-Swagger UI

我正在尝试调整自动生成的Swagger定义中使用的模型的“ displayName”。

这只会影响Swagger名称,这意味着代码中的名称空间将保持不变,而从Swagger UI查看模型时,您会看到一个自定义名称。

当前,从代码返回的模型名称是一个命名空间,如下所示:b.c.d.e.f,我想在代码中添加一个属性,并“屏蔽” Swagger文档的名称,以便在生成文档/ Swagger定义时它将显示为CustomSwaggerName

我有一些API(C#)使用的工具包括Swashbuckle(preferred)和SwaggerGen,但是现在,如果可能的话,我想使它在其中任何一种下工作。

我尝试使用看起来正确的属性:

[ResponseType(typeof(Company)),DisplayName("NewCompany")]
[SwaggerResponse(200,"NewCompany",typeof(object))]
Run Code Online (Sandbox Code Playgroud)

没有运气。我还浏览了SwashBuckle git存储库,希望找到一些东西。

图像应有助于进一步解释我正在尝试实现的目标。 在此处输入图片说明

我知道这似乎是一个奇怪的用例,但这是针对为我们的AWS API Gateway自动化编写的工具,该工具将使用Swagger定义进行一些比较。

c# swagger swagger-ui swashbuckle swagger-codegen

7
推荐指数
2
解决办法
3623
查看次数

Swashbuckle 重命名模型中的数据类型

我正在整理一个需要匹配外部源 XML 格式的 Web API,并希望在 swagger 输出中重命名数据类型对象。

它在类的成员上运行良好,但我想知道是否也可以覆盖类名。

例子:

[DataContract(Name="OVERRIDECLASSNAME")]
public class TestItem
{
   [DataMember(Name="OVERRIDETHIS")]
   public string toOverride {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

在生成的输出中,我最终看到了模型:

   TestItem {
      OVERRIDETHIS (string, optional)
   }
Run Code Online (Sandbox Code Playgroud)

我希望看到

OVERRIDECLASSNAME { OVERRIDETHIS(字符串,可选)}

这可能吗?

谢谢,

asp.net asp.net-web-api swagger swagger-ui swashbuckle

6
推荐指数
1
解决办法
6165
查看次数

模型名称中的NSwag命名空间

可以生成客户端代码,以便模型的类名具有完整的名称空间作为前缀?

那应该避免相同的类名冲突。

com.foo.MyClass 
Run Code Online (Sandbox Code Playgroud)

it.foo.MyClass
Run Code Online (Sandbox Code Playgroud)

到现在我得到的是MyClassMyClass2这与其说是有意义的。

应该是最好有,在名称冲突的情况下,ComFooMyClassItFooMyClass

nswag

5
推荐指数
2
解决办法
835
查看次数