C# net内核。如果请求查询字符串为空,则创建[FromQuery]参数实例
我有Asp.Net核心控制器,其方法为:C# net内核。如果请求查询字符串为空,则创建[FromQuery]参数实例,c#,asp.net-core,asp.net-core-3.0,C#,Asp.net Core,Asp.net Core 3.0,我有Asp.Net核心控制器,其方法为: [HttpPost] public IActionResult Post([FromBody]TestModel bodyParameters, [FromQuery]TestModel queryParameters) { if (!ModelState.IsValid) { return BadRequest(ModelState); } var rng = new Random(); retu
[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());
}
我发帖子的要求就像和身体一样。等待bodyParameters将具有值,queryParameters将为null。但是queryParameters不是null,具有null属性
并且ModelState.IsValid为false,即TestModel具有[必需]属性
问题
如果请求查询
字符串为空,我应该怎么做才能使queryParameters=null
?可能您无能为力,因为活页夹无法知道您实际上想要发送所有null参数。
可能需要检查queryParameters.Id是否有空值(或无效),并返回BadRequest()