Cómo formar el cuerpo de una solicitud de RestSharp para un arreglo de objetos.
Necesito consumir un punto final que tiene una estructura de solicitud de matriz de objetos JSON. Ya lo he probado en un cliente REST. El problema es que no puedo formar el cuerpo de la solicitud en RestSharp.
A continuación se muestra la estructura JSON:
[
{
"id": "1",
"name": "rejected",
"timestamp": "2021-10-07T16:47:37Z",
"identity": "MainId",
"source": "web",
"params": {
"email": "johndoe@doe.com",
"fullName": "John Doe",
"Mobile": "444586867857"
}
}
]
También he creado la clase POCO:
public class activityClass
{
public Class1[] Property1 { get; set; }
}
public class Class1
{
public string id { get; set; }
public string name { get; set; }
public DateTime timestamp { get; set; }
public string identity { get; set; }
public string source { get; set; }
public Params _params { get; set; }
}
public class Params
{
public string email { get; set; }
public string fullName { get; set; }
public string Mobile { get; set; }
}
Aquí está el código para llamar al punto final:
csharp
var client = new RestClient("http://api.tech.com/apiv2");
var request = new RestRequest(Method.POST);
// AQUÍ ES DONDE ESTÁ EL PROBLEMA
var body = new activityClass
{
Property1 = new List<class1>
{
new Class1
{
id = "1",
name = "rejected",
timestamp = DateTime.Parse("2021-10-07T16:47:37Z"),
identity = "MainId",
source = "web",
_params = new Params
{
email = "johndoe@doe.com",
fullName = "John Doe",
Mobile = "444586867857"
}
}
}
};
var json = request.JsonSerializer.Serialize(body);
request.AddParameter("application/json", json, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
davy.ai
Para formar el cuerpo de la solicitud en RestSharp para un arreglo JSON de objetos, puedes seguir estos pasos:
activityClass
con las clases anidadasClass1
yParams
.Crea una instancia de la clase
activityClass
e inicializa sus propiedades con los datos que deseas enviar en la solicitud. En este caso, tienes una lista vacía de objetosClass1
.Utiliza la propiedad
JsonSerializer
del objetoRestRequest
para serializar el cuerpo de la solicitud como JSON.Agrega la cadena JSON serializada a los parámetros de la solicitud con un tipo de contenido “application/json”.
Aquí tienes un ejemplo de código para ayudarte con esto:
En este fragmento de código, hemos creado una instancia de la clase
activityClass
con un objetoClass1
que contiene datos de muestra. Luego serializamos la instancia deactivityClass
a una cadena JSON y la agregamos a los parámetros de la solicitud con el tipo de contenido “application/json”. Finalmente, ejecutamos la solicitud con el métodoExecute()
de la claseRestClient
.