jueves, 14 de mayo de 2020

010 SERVICIO WEB REST(WEB API) CON ASP.NET

PRACTICA 010:  Crear un Servicio Web Rest(Web API) con ASP.NET

Ing. Honoria Reyes Macedo 

IDE: Microsoft Visual Studio 2012 o mayor

Lenguaje de Programacion: C#

Framework:  .NET Framework 3.5 o mayor

Servidor Web: IIS (Internet Information Server)

ORM: Entity Framework

Navegador web: Chrome, Firefox, safari, edge…

Base de Datos: SQL Server

 

INTRODUCCION

 En esta práctica se muestra como crear un servicio web tipo REST que se conecta a una base de datos mediante un modelo de datos de Entity Framework.

Se creara una base de datos en SQL Server y se utiliza una Aplicación Web con ASP.NET en lenguaje C#, para leer la base de datos

 

ACTIVIDADES

 

1.- Crear una base de datos DBservicioWeb (Si ya se tiene agregar las tablas siguientes)

            1.1 Crear la tabla alumno


Crear el script de creación de alumno y guardarlo:




Quedaría asi:



1.2 Crear la tabla alumnodeporte


Crear el script de creación de alumnodeporte y guardarlo


1.3 Crear la tabla deporte



Crear el script de creación de deporte y guardarlo


La base de datos quedaria asi:




2.- Crear una vista en la base de datos






2.1) Revisar el diseño de la vista:

2.2) Marcar las casillas de los campos que necesitamos

2.3) Relacionar cvealumno de las tablas alumno y alumnodeporte (Unir las claves con el mouse)

2.4) Relacionar cvedeporte de las tablas alumnodeporte y deporte

2.5) Eliminar el texto dela columna “Alias” (no debe tener texto)



Observa:

que depende del orden en el que relaciones las tablas, el from cambiara: (Las dos formas son correctas)

En la anterior primero relaciono la tabla deporte y en la de abajo primero relaciono la tabla alumno



2.6 Guardar como “Vw_alumnodeporte”




2.7 Insertar datos en la tabla “alumno”  (solo si no tiene datos)

            *Recuerda que la cvealumno la crea en forma automática

 

2.8 Insertar datos en la tabla “deporte”

*Recuerda que la cvedeporte la crea en forma automática
       


2.9 Insertar datos en la tabla “alumnodeporte”

*Recuerda que la cvealumnodeporte la crea en forma automática

            *La cvealumno deberá ser alguna de la tabla “alumno “

*la cvedeporte deberá ser alguna de la tabla “deporte”




2.10 Revisar el resultado de la vista (Con mouse derecho en Edit Top)



La Base de Datos en SQL Server que se usa queda como sigue. Nota que se crea una vista llamada "Vw_alumnodeporte"




3.- Crear un Proyecto WebApiServicioCRUD  agregandole tus Iniciales  (letras rojas)  à  “WebApiServicioCRUD_HRM  ”  en ASP.NET en  C# 


























Quedaria asi:


4.- Agregar Entity Framework al proyecto

4.1 Desde un navegador web ejecutar: 

http://www.nuget.org/packages/entityframework

Copiar el código  de consola de Package manager




4.2 Entrar el Package Manager Console


4.3 Entrar en el Package Manager Console y ejecutar la línea que se copio



Queda asi al ejecutarse:




4.4 Verificar en References si ya esta el Entity Framework. Si no lo visualizas entonces con mouse derecho puedes agregar la referencia




5.- Agregar la relación con la Base de Datos con ayuda de Entity Framework

     5.1 Agregar el EDM (Entity Data Model) en la carpeta “Models” (con mouse             derecho sobre la carpeta models)



Agregar el modelo, ponerle el nombre de  “ModelDeporte



Seleccionar “Nueva conexion”




Recordar que el nombre del servidor y el nombre de la base de datos deben de coincidir con lo que se hizo en SQL Server. Se puede probar la conexion.


En la pantalla que sigue le indicaremos el nombre de la conexión de datos:

            DBservicioWebEntities


Escoger las tablas o entidades de la Base de Datos a ocupar con el Namespace DBservicioWebModel



Al crear el modelo hace cambios en Web.config. 

 Seleccionar  SI para aceptar los cambios 

Web.config quedaría así:


La conexión quedaría así:



6.- Agregar carpeta “Data” en el proyecto


6.1 Agregar una clase y llamarla “AlumDeporteModelo.cs” en la carpeta creada “Data





6.2 Agregar un método “GetListaAlumDeporte” en la clase creada (líneas sombreadas)

y agregar la línea:    using WebApiServicioCRUD_HRM.Models;


7.- Agregar una clase Controlador  y llamarlo “AlumDeporteController” 






7.1.- Agregar un método “GetAlum” al controlador “AlumDeporteController” (líneas sombreadas)

Y agregar:

using WebApiServicioCRUD_HRM.Data;

using WebApiServicioCRUD_HRM.Models;

 

Y agregar antes del nombre de la clase

[RoutePrefix("Modelo_HRM")]




8.- Hacer pruebas del servicio web (Utilizar la Tecnología SWAGGER)

8.1.-Agregar Swagger al proyecto desde herramientas





Buscar desde examinar:



8.2.- Indicar que cuando se ejecute lo haga con swagger

                En propiedades del proyecto (con mouse derecho)


8.3.- Ejecutar la Aplicación

8.3.1 Seleccionar el servicio  GetDeporteitos desde AlumDeporte y Filtrar por la clave del alumno



El siguiente texto es el JSON extraído de la base de datos






---------------------------------------------0------0-------------------------------------------------------
------------------------------------------------~-----------------------------------------------------------
-------------------------------------------000----000-----------------------------------------------------

No hay comentarios.:

Publicar un comentario