Я использую. NET Core 3.0, и для помощи в отладке нашего приложения мы хотели бы регистрировать параметры запроса, которые не используются (например, в сложных запросах может быть трудно обнаружить, что данный параметр был написан с ошибкой или является неправильным). ). Грубо говоря, у нас есть следующее:
public class FooDTO
{
public int A { get; set; }
}
[HttpGet("myURL")]
public async Task<ActionResult<ResultDTO>> GetPatientsAsync([FromQuery] FooDTO foo)
{
// the following works to identify binding errors, but does NOT find unused parameters
if (!ModelState.IsValid)
{
_log.Error($"Error in query parameters ");
foreach (var error in ModelState.Values.SelectMany(modelState => modelState.Errors))
{
_log.Error(error.ErrorMessage);
}
}
// TODO: LOG any unused extra query parameters
// if user calls with myURL?A=1&ZZZ=2&YYY=helloWorld I would like to log that ZZZ and YYY were not bound anywhere
var results = await GetResults(foo);
return Ok(results);
}
Есть ли простой способ определить параметры запроса, которые не были связаны?