Api Rest : Consumiendo un Api Rest en C# - Parte 2

Para continuar con el ejemplo tomaremos la información generada en el artículo: Api Rest : Creación de un Api Rest CRUD en C# - Parte 1

Lo siguiente será consumir la información de nuestra Api, para esto crearemos un nuevo proyecto Web en C#.

El template será Empty y el tipo MVC.

Agregaremos 2 paquetes.

Buscamos e instalamos el paquete System.Net.Http.

Buscamos e instalamos el paquete Microsoft.AspNet.WebApi.Client.

Seleccionamos la carpeta Models para agregar una clase.

Tecleamos el nombre de la clase.

Dentro de la clase teclearemos todos los campos de nuestra tabla de la cual mostraremos la información.

Seleccionamos la carpeta Controller y agregamos un controlador.

El tipo de nuestro controlador será MVC 5 Controller - Empty.

Tecleamos el nombre de nuestro controlador.

Dentro de nuestro controlador llamamos la referencia de la carpeta Models. así como la ruta donde se encuentra nuestra Api, para que el ejemplo funcione correctamente la Api debe estar publicada, en caso de realizar el ejemplo local todos estos archivos deben estar en el mismo proyecto donde creamos la Api.

Tecleamos el siguiente código donde se indica que si el Apí tiene registros en Res, se indica "api/usuarios" que es donde se llaman todos los registros.

Dentro de la carpeta View seleccionamos la carpeta Usuarios y creamos una View.

La configuración de la View quedara de la siguiente manera.

Dentro del View realizamos los siguientes cambios.


Ejecutamos el archivo Index y visualizamos el resultado.
 
 

Publicar un comentario

19 Comentarios

  1. Me perdi en la parte de publicar la API... agredeceria mucho la ayuda, ya que publico pero no me conecta con la base de datos ya le di mil vultas e hice mil pruebas y nada me sirve ya que a la hora de ejecutar la app la API no conecta a la BD

    ResponderBorrar
  2. Instalaste los paquete:
    System.Net.Http.
    Microsoft.AspNet.WebApi.Client.

    Estos se utilizan para realizar la conexión a la base de datos.

    En la variable USUARIOSCONTROLLER es donde hago el llamado al ApiRest (imagen 12 y 13.

    ResponderBorrar
    Respuestas
    1. Perdon no fui claro... Lo que pasa es que publico la api en mi IIS Local y al publicarla lo hice como SISTEMA DE ARCHIVOS, pero al intentar echar andar la api montada al IIS Local no me conecta con la BD, pero ejecutandola desde el proyecto si lo hace, De hecho ya hice la prueba corriendo al mismo tiempo la api y el programita poniendole la direccion temporal que me genera la api y si funca, el problema es al montar la api en IIS, te agradeceria mucho si pudieras decirme como. De antemano gracias por la ayuda!!! buen post!!

      Borrar
    2. Copias la carpeta de tu proyecto compilado al servidor y mandas a llamar esta carpeta en el IIS como un website, al crear la conexión asignas el puerto 80?

      Puedes enviarme un email a hugoxoft@hotmail.com

      Borrar
  3. Hola, me sale este error al ejecutar el proyecto:

    Server Error in '/Usuarios/Index' Application.
    The resource cannot be found.

    Podrias ayudarme porfa ya que he seguido paso a paso tu manual.
    Muchas gracias de antemano.

    ResponderBorrar
    Respuestas
    1. El error que te da es porque no esta publicada correctamente el api, trata de llamarlos con la api que genero, llama la url: http://www.nuevaintranet2.somee.com

      Borrar
    2. Mi codigo esta exactamente igual al tuyo, pero aun asi no levanta :/
      Sale el mismo error que te comente

      Borrar
    3. Para que el API sea llamado y consumido lo debes publicar en internet, si lo hace de modo local no te va a funcionar.

      Borrar
    4. "en caso de realizar el ejemplo local todos estos archivos deben estar en el mismo proyecto donde creamos la Api."
      funciona o no funciona de manera local ?, saludos gracias

      Borrar
    5. Existe alguna manera de comprobar el funcionamiento de manera local?

      Borrar
    6. La API y el CRUD están en diferente proyecto, si verificas la imágenes la ejecución la realizo de modo local.

      Cuando ejecutas el API te muestra la información de tu tabla?

      Borrar
    7. Estimados, genere la api de manera local y la web para consumirla en el mismo proyecto y funciona correctamente.

      Borrar
  4. buena noche amigo gracias por tu aporte fijate que yo levante la api a nivel local la deje en un proyecto y para llamarla hice otro tratando la manera de llevar todo al mismo paso con la diferencia que lo hice con una tablita de producto pero cuando levanto el index me tira la pagina pero sin datos en la tabla solo muestra los campos y al momento que le doy crear nuevo me tira que la pagina no es encontrada me podes ayudar con eso porfavor que error sera gracias.

    ResponderBorrar
    Respuestas
    1. Eso pasa porque no tienes la vista Agregar Creada, me podrias decir como lo hiciste de manera local?

      Borrar
    2. Como aparece en el post esta de modo local, al final solo lo subí a un hosting.

      Borrar
  5. A mi ya me salió. Lo que gice fue crear otro proyecto web cliente tipo mvc, lo probe q funcione tal cual y le añadi la clase en models un controlador de la misma clase y le pegue el mismo codigo del get del anterior y listo. Si desean les paso el codigo.

    ResponderBorrar
  6. Hola muy buena explicación solo tengo una consulta es posible consumir esa api desde en proyecto asp.net web form?

    ResponderBorrar