【问题标题】:Asp.net Core. Create [FromQuery] paremeters instance if request querystring is emptyASP.NET 核心。如果请求查询字符串为空,则创建 [FromQuery] 参数实例
【发布时间】:2020-03-10 07:32:25
【问题描述】:

我有带有方法的 Asp.Net Core 控制器:

[HttpPost]
public IActionResult Post([FromBody]TestModel bodyParameters, [FromQuery]TestModel queryParameters)
{
    if (!ModelState.IsValid)
    {
        return BadRequest(ModelState);
    }
    var rng = new Random();
    return Ok(Enumerable.Range(1, 5).Select(index => new WeatherForecast
    {
        Date = DateTime.Now.AddDays(index),
        TemperatureC = rng.Next(-20, 55),
        Summary = Summaries[rng.Next(Summaries.Length)]
    }).ToArray());
}

我用正文发送 POST 请求,例如 http://localhost:57737/WeatherForecast。并等待 bodyParameters 将具有值并且 queryParameters 将为空。但 queryParameters 不为空,具有空属性 并且 ModelState.IsValid 为 false,即 TestModel 具有 [Required] 属性

问题 如果请求查询stringempty,我应该怎么做queryParameters = null

【问题讨论】:

    标签: c# asp.net-core asp.net-core-3.0


    【解决方案1】:

    您可能无能为力,因为绑定程序无法知道您实际上想要发送所有空参数。 可能检查 queryParameters.Id 是否有空值(或无效)并返回 BadRequest()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-07
      • 2021-10-04
      • 2019-05-30
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多