Estoy tratando de crear un modelo, que podría usar para Body y Route a la vez. Encontré una solución aquí , pero me gustaría moverla un poco más. No usar una clase de "cuerpo" adicional, pero incluir todo en una clase. Intenté esto, pero no funciona.
public class Car { [Required, FromRoute] public int CarId { get; set; } [Required, FromBody] public string UpdatedBy { get; set; } [Required, FromBody] public string Colour { get; set; } [Required, FromBody] public string Wheels { get; set; } [Required, FromBody] public DateTime UpdatedDate { get; set; } }Estoy tratando de usarlo como entrada para el método PUT:
public async Task<IActionResult> CarUpdate(Car car, CancellationToken cancellationToken)Pero me gustaría tenerlo así:
¿Es posible? Gracias.
Desafortunadamente, solo puede usar FromBody una vez, está tratando de usarlo varias veces, es por eso que no funciona. Esto parece extraño pero funcionará
public async Task<IActionResult> CarUpdate(CarRoute carRoute, CancellationToken cancellationToken)pero tendrás que agregar esto al inicio
services.Configure<ApiBehaviorOptions>(options => { options.SuppressInferBindingSourcesForParameters = true; });clases
public class CarRoute { [FromRoute] public int CarId { get; set; } [FromBody] public Car Car { get; set; } } public class Car { public int CarId { get; set; } public string Name { get; set; } public string Colour { get; set; } }