.Net Core - NSwag 多部分/表单数据必填字段

问题描述 投票:0回答:1

我使用 [FromForm] 注释来绑定多部分/表单数据模型。 但是当 swagger 生成 swagger.json 时,它会跳过必需的字段。

这会导致它在打字稿中错误生成接口,放置应该需要的可选属性。

有人帮忙吗?

班级:

 [Required]
 public string Name { get; set; }
 
 [Required]
 public string Abbreviation { get; set; }
 
 [Required]
 public DateTime DateOfFundation { get; set; }

Swagger.json:

    "content": {
                "multipart/form-data": {
                  "schema": {
                    "type": "object",
                    "properties": {
                      "Name": {
                        "type": "string",
                        "nullable": true
                      },
                      "Abbreviation": {
                        "type": "string",
                        "nullable": true
                      },
                      "DateOfFundation": {
                        "type": "string",
                        "format": "date-time"
                      }
...
.net-core multipartform-data nswag
1个回答
0
投票

您可以像这样使用

NJsonSchema.Annotations.NotNullAttribute

using NJsonSchema.Annotations;

public class MyClass
{
    [NotNull]
    public string Name { get; set; }
}
public class MyController
{
    [HttpPost(...)]
    public async Task<Unit> MyEndpoint([FromForm] MyClass request)
    {
        ...
    }
}

为什么 NSwag 不支持

[Required]
我无法理解,但这从我的 swagger.json 架构中删除了
"nullable": true

© www.soinside.com 2019 - 2024. All rights reserved.