C# 使用Swashbuckle定义意外参数

C# 使用Swashbuckle定义意外参数,c#,.net,asp.net-core,swagger,swashbuckle,C#,.net,Asp.net Core,Swagger,Swashbuckle,我有这样的控制器 [HttpGet] public Task<IActionResult> GetCsvAudit([FromQuery] ReportDto request) { return Task.FromResult<IActionResult>(Ok()); } public class ReportDto { public DateTimeRange ActionDateRange { get; set; } public PhiR

我有这样的控制器

[HttpGet]
public Task<IActionResult> GetCsvAudit([FromQuery] ReportDto request)
{
    return Task.FromResult<IActionResult>(Ok());
}

public class ReportDto
{
    public DateTimeRange ActionDateRange { get; set; }
    public PhiResourceType OrderBy { get; set; }
    public string PhiResourceTypeIdentifier { get; set; }
}
[HttpGet]
公共任务GetCsvAudit([FromQuery]报告到请求)
{
返回Task.FromResult(Ok());
}
公共类报告
{
公共日期时间范围ActionDateRange{get;set;}
公共资源类型OrderBy{get;set;}
公共字符串类型标识符{get;set;}
}
DateTimeRange为Swagger配置如下:

c.MapType<DateTimeRange>(() => new OpenApiSchema()                                       
{                                                                                        
    Description = "Date range",                                                          
    Type = "string",                                                                     
    Title = "Date range",                                                                
    Example = new OpenApiString("2020-11-15T00:42:13+00:00 - 2020-11-16T00:42:13+00:00"),
});                        

                                                          
c.MapType(()=>newopenapischema()
{                                                                                        
Description=“日期范围”,
Type=“string”,
Title=“日期范围”,
示例=新的OpenApiString(“2020-11-15T00:42:13+00:00-2020-11-16T00:42:13+00:00”),
});                        
问题是,当我使用
[FromQuery]
属性时,Swagger仍然希望我在查询中提供每个DateTimeRange属性,而我希望它期望我为它提供字符串
2020-11-15T00:42:13+00:002020-11-16T00:42:13+00:00


如果您将字段/属性标记为
内部
受保护
私有
,则在招摇过市文档中,招摇过市会自动忽略该字段/属性:

 public class DateTimeRange
{
    
    internal string Start { get; set; }

   
    internal string End { get; set; }
}
结果:

对不起,我的问题可能不清楚。我不想让斯威格期望我为一个类提供所有属性。我想在查询中提供一个字符串,比如
2020-11-15T00:42:13+00:002020-11-16T00:42:13+00:00
(有两个日期用逗号分隔)。我已经实现了ASP.NET绑定器,用于将其从字符串解析到
DateTimeRange
类。您可以查看我更新的答案,并查看它是否对您有帮助。这样,我无法成功绑定,您可以查看是否有成功绑定的方法。我将进行查看。谢谢