NSwag 自动生成的客户端不显示默认值
NSwag autogenerated client does not show default values
我有一个启用了 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 定义没有影响,因此该值显示为 description : "string"
如何正确地将 DefaultValue 注释传输到自动生成的客户端,以便我可以重用请求对象并显示带有测试值字符串集的示例?
api 的 swagger.json 描述字段看起来像这样:
"properties": {
"description": {
"type": "string",
"default": "test value",
"nullable": true
},
我没有找到单独使用 NSwag 的解决方案。
因此,我使用 Microsoft 的 openapi 包,结合 Roslyn,创建了一个小应用程序,它读取 swagger Json 定义,解析生成的客户端的源代码,并设置默认值属性.
这有效,并提供了相当多的控制,但如果它是 NSwag 中的一个功能,我仍然会更喜欢。
我有一个启用了 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 定义没有影响,因此该值显示为 description : "string"
如何正确地将 DefaultValue 注释传输到自动生成的客户端,以便我可以重用请求对象并显示带有测试值字符串集的示例?
api 的 swagger.json 描述字段看起来像这样:
"properties": {
"description": {
"type": "string",
"default": "test value",
"nullable": true
},
我没有找到单独使用 NSwag 的解决方案。
因此,我使用 Microsoft 的 openapi 包,结合 Roslyn,创建了一个小应用程序,它读取 swagger Json 定义,解析生成的客户端的源代码,并设置默认值属性.
这有效,并提供了相当多的控制,但如果它是 NSwag 中的一个功能,我仍然会更喜欢。