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-----------------------------------------------------

lunes, 11 de mayo de 2020

009 COMPOSICION DE SERVICIOS WEB EN ASP.NET

PRACTICA 009:  Crear una composición de Servicios Web: 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)

Navegador web: Chrome, Firefox, safari, edge…

Base de Datos: SQL Server

 

INTRODUCCION

 

Esta práctica mostrara el uso de la composición de servicios web: Se creara un servicio REST que Consumirá un servicio web SOAP. 

A un servicio REST se le suele llamar Web API.

Para crear el SERVICIO WEB SOAP se utilizó WCF con lenguaje C# (Se creó en la practica 5).

Esta práctica utiliza Aplicación Web con ASP.NET en lenguaje C#, para crear el SERVICIO REST

 

ACTIVIDADES

 

1.- Crear un Proyecto ServWebAPI agregandole tus Iniciales  (letras rojas)    ServWebAPI_HRM  en ASP.NET en  C#  à 



                                    Seleccionar el lenguaje C#


                        Recuerda cambiar las letras rojas por tus iniciales ServWebAPI_HRM




Seleccionar aplicación vacía y marcar la casilla API web


Quedaria asi:

2.- Crear un controlador “AlumnoController” en la carpeta Controllers




Quedaría así: Con métodos GET, PUT, DELETE, PUT

3.- Agregar la referencia de Servicio Web desde Referencias(Con mouse derecho)

3.1.-  Capturar la ubicación del Servicio Web y presionar Ir


Quedará así: Observa el nombre del servicio que tiene"Service1Client" (Se usara el nombre en el código)




    3.2.-  Indicar que el servicio web a utilizar tiene tipo de datos Generic List (Con mouse derecho)


4.- Agregar una carpeta “Data” al proyecto



5.- Agregar una clase “AlumnoServicio.cs” en la carpeta “Data



5.1 Capturar el método “GetListaAlumnos”( lineas sombredas)

                Agregar:              using ServWebAPI_HRM.ServicioMaterias;


6.- Agregar el método “GetAlum” en AlumnoController.cs (líneas sombreadas)

           Y agregar las dos líneas siguientes

using ServWebAPI_HRM.Data;

using ServWebAPI_HRM.ServicioMaterias;

Usar un prefijo en la ruta: agregar la líneas siguiente antes de la clase con tu nombre, ejemplo:

   [RoutePrefix("Honoria")]






7.- Hacer pruebas del servicio web (Utilizar la Tecnologia SWAGGER)

7.1.-Agregar Swagger al proyecto


Buscar swagger


Seleccionar Swashbuckle y marcar las casillas Proyecto y ServWebAPI(a la derecha) e Instalar)


Quedaría así:


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

                En propiedades del proyecto (con mouse derecho)

             Nota: Observa que en la parte inferior indica que servidor web usará(En este caso IIS)


9.- Ejecutar la Aplicacion

9.1 Seleccionar “Alumno


9.2 Seleccionar “GetAlumnito” y filtrar por clave de alumno

                    
                Para filtrar por clave del alumno  --> Capturar en el ID la clave y presionar el boton "Try It Out"








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