Привязка модели в asp.net не привязывает все полученные данные, если запрос содержит имя объекта Parmeter. Я не знаю, как описать это в лучшем виде, но образец, который я предоставляю, прояснит мою проблему. Я начинаю с нового проекта «ASP.NET CORE Web API» (.net 8) и изменяю содержание WeathforeCastController.cs на: < /p>
Код: Выделить всё
using Microsoft.AspNetCore.Mvc;
namespace WebApplication1.Controllers
{
[ApiController]
[Route("[controller]")]
public class TestController : ControllerBase
{
[HttpGet]
public IActionResult Get([FromQuery] P p)
{
return Ok();
}
public class P
{
[BindProperty]
public DateTime? Time { get; set; }
}
}
}
Отправка запроса get https: // localhost: 7164/test? Time = 2025-01-01 (использование вашего локального порта) приведет к тому, что P.Time будет иметь значение 2025-01-01 . Как и ожидалось. Проблема в том, что, если имя объекта метода по любой причине, добавленное к запросу, оно аннулирует все свойства объекта, что, в свою очередь, приведет к неправильным ошибкам, отправленным обратном абоненту (например, «вы забыли отправить время», в то время как в реальности он был отправлен в запросе), таким образом, выявляя эту проблему?>
Подробнее здесь:
https://stackoverflow.com/questions/794 ... data-bound