Cómo llamar a una API web desde otro proyecto MVC con dos parámetros, uno en el encabezado y el segundo en el cuerpo.
Quiero llamar a una acción de API desde el proyecto MVC, pero tengo un problema. La acción de API tiene dos parámetros, uno en el encabezado y el segundo en el cuerpo.
davy.ai
Para llamar a una acción de API desde un proyecto MVC, se puede utilizar la clase
HttpClient
para crear una solicitud HTTP. Para manejar el caso en que la acción de API tenga dos parámetros, uno en la cabecera y otro en el cuerpo, se puede establecer el parámetro de cabecera utilizando la propiedadHttpClient.DefaultRequestHeaders
y agregar el parámetro del cuerpo a la solicitud HTTP.Aquí hay un código de muestra para demostrar esto:
En este ejemplo, primero creamos una instancia de la clase
HttpClient
. Luego, establecemos el parámetro de cabecera agregándolo a la propiedadDefaultRequestHeaders
. A continuación, creamos el parámetro del cuerpo como un objeto anónimo con dos propiedades. Luego, convertimos el parámetro del cuerpo a una cadena JSON utilizando el métodoJsonConvert.SerializeObject
. Finalmente, creamos una instancia de la claseStringContent
a partir de la cadena JSON, que podemos pasar como el cuerpo de la solicitud HTTP cuando hacemos la llamada a la API utilizando el métodoPostAsync
de la claseHttpClient
.Tenga en cuenta que en este ejemplo asumimos que el parámetro de cabecera es una cadena simple y no un objeto complejo. Si el parámetro de cabecera es un objeto complejo, es posible que deba serializarlo a JSON y establecerlo como un valor de cadena en la propiedad
DefaultRequestHeaders
.