swagger 自动生成的NSwag客户端不显示默认值

e7arh2l6  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(231)

我有一个启用了Swagger的API。在其中一个端点中,我有一个将一些值设置为默认值的请求。

[DefaultValue("test value")]
public string? Description { get; set; }

这在API的Swagger页面中看起来很好。在Swagger示例中使用默认值。
我们使用NSwag来生成一个在网关中使用的api客户端。当我生成这样一个客户端时,请求对象看起来像这样:

[System.Text.Json.Serialization.JsonPropertyName("description")]
public string? Description { get; set; } = "test value";

分配该值对网关中的Swagger定义没有影响,因此该值显示为说明:“字符串”
如何正确地将DefaultValue注解传输到自动生成的客户端,以便重用请求对象并显示设置了测试值字符串的示例?
api的swagger.json的描述字段如下所示:
第一个

wh6knrhe

wh6knrhe1#

我没有找到使用NSwag本身的解决方案。
因此,我使用了Microsoft的openapi包,并结合Roslyn创建了一个小型应用程序,该应用程序读取swagger Json定义,解析生成的客户机的源代码,并设置默认值属性。
这是可行的,并提供了相当多的控制,但我仍然希望如果它是一个功能在NSwag。

相关问题