es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Pasar FormData Item array de objeto angular

¿Cómo puedo pasar FormData a una API con una matriz de objetos dentro?

Estoy intentando de la siguiente manera:

Imagen

Este es el contenido de la solicitud, ¿cómo puedo obtener todos los elementos con otros datos en .net core c# API?

public class BackgroundCheckParam
{
    public Guid EmpId { get; set; }
    public List<backgroundchecksresults> Items { get; set; }
    public IFormFile ResultPdf { get; set; }
    public IFormFile DisclosurePdf { get; set; }
    public DateTime CompleteDate { get; set; }
}

public class BackgroundChecksResults
{
    public string Type { get; set; }
    public string Result { get; set; }
}

public ResponseResult AddBackgroundCheck([FromForm] BackgroundCheckParam data)
{

}

Todo lo demás está bien, estoy recibiendo todo, pero los elementos siempre tienen un valor de 0.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para pasar FormData a una API con un array de objetos en su interior, puede definir su modelo de C# con una lista del tipo de objeto, como se muestra en el fragmento de código que proporcionó.

    Sin embargo, para vincular correctamente la lista de objetos desde el FormData en la API, debe asegurarse de que las claves en el FormData coincidan con los nombres de propiedad en el modelo de C#.

    Por ejemplo, si tiene un array de dos objetos BackgroundChecksResults en su FormData con las claves “Items[0].Type”, “Items[0].Result”, “Items[1].Type” y “Items[1].Result”, deberían vincularse correctamente a la propiedad List<backgroundchecksresults> llamada “Items” en su modelo de C#.

    Si sigue teniendo problemas con la propiedad Items siempre siendo 0, es posible que desee intentar depurar verificando las claves en el FormData y asegurándose de que coinciden exactamente con los nombres de propiedad de C#, o utilizando una herramienta como Fiddler para inspeccionar el tráfico de solicitud y respuesta sin procesar.

Comments are closed.