El objetivo del siguiente post es adquirir los conocimientos necesarios para la creación y consumo de Web Api para ello el siguiente documento esta acompañado de un ejemplo práctico junto con imágenes de apoyo.

El ejemplo consiste en la creación de un Web Api que consume de una base de datos de sql (creada por nosotros mismos) esta base de datos es sobre coches y sus características. Posteriormente a la creación del Web Api, procederemos a su consumo desde el cliente con un proyecto Mvc.Core.

En primer lugar, procedemos a la creación del Web Api siguiendo los siguientes pasos.

Creamos un nuevo proyecto de tipo MVC Empty con la selección de Web Api a la cual hemos llamado ApiPostCreacionyConsumo.

1


Agregamos el NuGet de Entity Framework

2

Sobre Models, creamos una nueva clase llamada Coche en esta clase mapearemos la tabla con las características del coche que tenemos en nuestra base de datos de SQL.

3

Creamos una nueva carpeta llamada Data y una clase llamada CochesContext

4

Incluimos la cadena de conexión dentro del fichero Web.config

5

Creamos una carpeta llamada Repositories y una clase llamada RepositoryCoches

6

Sobre la carpeta Controllers, creamos un nuevo controlador de tipo Web Api Empty llamado CochesController

7
8

Por último, indicamos que solamente queremos el formato Json para nuestra Api en la carpeta App_Start y en la clase WebApiConfig

00

Publicamos nuestra Api en Azure con un nombre único

9
10

Habilitamos CORS en Azure una vez subido el App Service.

https://www.flickr.com/photos/170033104@N04/40574510273/in/dateposted-public/
12

En nuestro ejemplo hemos dejado la Api en localhost sin subirla a la nube, aunque es conveniente subirla siempre para poder trabajar desde Azure.

Una vez credo el Web Api, continuamos con la creación de un nuevo proyecto de tipo MVC Core llamado ClienteApiPostCreacionyConsumo utilizando la plantilla por defecto de MVC.

13

Sobre la carpeta Controllers, creamos un nuevo controlador llamado CochesController de tipo MVC Empty.

14

Creamos la página Index.cshtml donde mostraremos las tablas con las características de los coches y el buscador de coche por marca de este. Esta página es la que consume en cliente del Web Api

15
16

Para acceder a la página Index hemos insertado un enlace en el _Layout que nos redirige a dicha página.

17

Como en la nuestra Api hemos mapeado el modelo Coche aquí cogemos dicho modelo de la Api por lo que no tenemos que mapear.

18

Nos creamos una Carpeta Repositories y en dicha Carpeta una Interface llamada IRepositoryApiCoches con los método empleados en el CochesRepository del Api.

19
20

Añadimos también en la carpeta Repositories la clase RepositoryApiCoches con las tareas que llaman a los métodos del Api por lo que son asíncronos , debido a esto hacemos uso de async y await.

21
22

Para concluir en el Startup.cs añadimos el uso de los Repositorios a por medio de services.AddTransient dentro de CongirureServices

23

Una vez hecho esto si renderizamos la pagina el resultado seria el siguiente tras presionar en mostrar todos los coches.

24

Autor: Alejandro Fernandez Crespo

Curso: Microsoft MCSA Web Applications + Microsoft MCSD App Builder + Xamarin

Centro: Tajamar

Año académico: 2018-2019

Código / recursos utilizados / Otros datos de interés: GitHub:
https://github.com/afndezcrespo/ApiPostCreacionyConsumo/tree/master/ApiPostCreacionyConsumo
https://github.com/afndezcrespo/ClienteApiPostCreacionyConsumo/tree/master/ClienteApiPostCreacionyConsumo

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.