viernes, 6 de septiembre de 2019

Rest API con C#


Vamos a ver como llamar un Api usando C#, en este caso usando una aplicación de .netcore.

Lo primero que vamos hacer es crear una aplicación de Console app con Visual Studio 2019. En mi caso tiene de nombre TestDummyApi y vamos a utilizar un endpoint con datos para hacer testing. Podemos encontrar el Api aquí http://dummy.restapiexample.com/

Con el proyecto listo vamos a crear dos clases Poco para guardar y leer los datos del Api

La clase EmployeesPoco que nos permite leer los datos que vamos a recibir del Api.

La clase EmployeePoco que nos permite crear un objeto con los datos que deseamos enviar al Api para guardarlos.


Ahora muy fácil. Debemos de ir a el administrador de paquete (Nuget)

Tenemos que buscar el paquete system.net.http que nos va a permitir hacer las llamadas de los Apis.

Ahora lo tenemos que instalar en el proyecto que estamos trabajando.

Con esto podemos crear el using que vemos en la línea 10 con un objeto de tipo HttpClient para hacer las llamadas de los endpoints. Ahora todo el código que vamos hacer para el uso de los Apis lo agregamos entre las llaves de la línea 11 y 13.

Antes de continuar debemos agregar una librería nueva que nos permite convertir datos de objetos a json y de json a objetos.

Con esto ya estamos listos para desarrollar nuestra app


Usando el objeto de client podemos hacer llamado a un metodo GetStringAsync, este requiere que se le envie el URL donde vamos a usar los datos. El resultado de este Api nos retorna una lista de empleados.

Usando el foreach vamos a recorrer la lista que nos retorno el Api podemos recorrer toda la lista. En este momento podemos ver todos los datos que tiene el Api. En nuestro ejemplo lo que vamos a visualizar es el nombre de cada uno de los empleados pero se puede ver el resto de los datos.

Ahora si vamos a invocar el método de post

Lo primero que tenemos que hacer es el objeto que deseamos guardar en el servicio del Api. En este caso el objeto es de tipo EmployeePoco, asignamos los valores de las propiedades. Luego este objeto lo convertimos en un json que al final es los datos que deseamos enviar. Esta información se asigna a la variable data.

Usando el método PostAsync del objeto client que ya tenemos vamos a poder enviar esta información. Este método requiere como primer parámetro el endpoint que se ocupa para almacenar datos. Como segundo parámetro le enviamos la información que se ocupa almacenar. Usamos el método ReadAsStringAsync para ver el json resultante como un string.

De esta manera podemos usar Rest APIs con c#


Ejemplo

Etiquetas: , , , ,

0 comentarios:

Publicar un comentario

Suscribirse a Enviar comentarios [Atom]

<< Inicio