70-487 MCSD WEP APPLICATION.

WEB API CON MULTIPLES METODOS GET

Vamos a realizar una aplicación web api con múltiples métodos get de salida, esto lo conseguiremos creando un mapeo de rutas en la url.

DESARROLLO

Comenzamos creándonos un nuevo proyecto en visual studio, al que llamaremos WebApiMultiplesGet, querremos un proyecto asp.net q sea empty y marcamos web api.

1

A continuación nos crearemos un Entity Framework ADO.NET, para ello nos iremos a nuestra carpeta de Model, botón derecho y añadimos un ADO.NET a la que llamaremos EntidadDoctores, ya que en este caso trabajaremos con la tabla de doctor, es muy importante que nos aseguremos que nuestra tabla lleva una Primary Key, sino es así debemos de incluirla.

Le decimos que queremos una base de datos EF Designer From DataBase, añadimos la tabla doctor.

2

A continuacion vamos a crearnos nuestro modelo doctores que donde realizaremos las consultas a nuestra base de datos, para ello sobre nuestra carpeta Models, boton derecho y añadimos una nueva clase que llamaremos ModeloDoctores.cs

Lo primero que haremos será crearnos nuestra entidad doctores y crearnos el constructor.

Realizamos las consultas, la primera q va a ser un metodo GetDoctores q nos va a devolver una lista de doctores y que es en la que siempre entrara  nuestra aplicación por defecto.(api/Doctores)

En el segundo metodo es en que ya le meteriamos un parametro a la consulta, que este seria nuestros segundo metodo Get por defecto. En este caso vamos a recuperar al doctor por su id(api/Doctores/{id}).

3

Las siguientes consultas son las que serían de sobrecargado el método Get, ya q este método por defecto solo nos devolvería dos métodos Get solamente, nos vamos a crear tres métodos más, uno que nos devuelva e doctor por la especialidad.

4

Otro método que recupere al doctor por su salario.

5

Y el último, que nos recupere a los doctores por el código de hospital de trabajo.

6

Una vez finalizado esto lo siguiente que haremos sería crearnos nuestro controlador, así que nos vamos a nuestra carpeta controlador y botón derecho y añadimos un nuevo controlador, este controlador debe de ser de tipo WebApi empty para que no nos escriba nada por defecto.

18

Al que llamaremos DoctoresController.cs, este controlador heredará de ApiController. Y lo primero que debemos de hacer es crearnos nuestro modelo que herede de Modelodoctores, y su constructor.

Y aquí es donde empezaremos a llamar a nuestros diferentes métodos que hemos creado, nuestras llamadas Get.

Las primeras son las que por defecto siempre coge nuestra aplicación mediante la url y serian:

GetDoctores, que nos devolvería una lista de doctores.

7

Y la otra que nos devolvería un doctor por su id.

8

Ahora aquí es donde vamos a añadir las demás llamadas Get, esto lo vamos a poder realizar gracias al mapeo de rutas para poder ponerle la diferentes rutas a nuestra url, lo haremos con las decoraciones [HttpGet] y por de ruta [Route(“api/Nombre de la ruta/{Parametro}”)].

-GetDoctoresEspecialidad.

19

-GetDoctoresSalario.

10

-GetDoctoresCodigoHospital.

12

Ya tendríamos creado todos nuestros métodos solo nos faltaría añadir o bien en el WebApiConfig un metodo para quitar la salida de formato XML y que saliera JSON, con la siguiente línea de código:

//METODO PARA QUITAR LA SALIDA EN FORMATO XML

config.Formatters.Remove(config.Formatters.XmlFormatter);

O bien en el Global.axa.cs para que nos devolveriera directamente JSON. Con el siguiente código:

//AÑADIMOS LA SALIDA DE FORMATO EN JSON

GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();

Y el siguiente paso es ejecutar con F5.

Metodo Get.

13

-Metodo Get con parámetros

14

-Get Mapeados

-GetDoctorespecialidad.

15

-GetDoctoresSalario.

16

 

-BuscarDoctorCodigoHosp.

17

 

Y con esto estaría ya resuelto este post, espero que les sirva de mucha ayuda.

Descripción: Aprende rapidamente como poder llamar desde tu url y utilizando web api multiples metodos de llamadas Get

Autor: Pedro Rodríguez Sánchez.

Curso:  Microsoft MCSD Web Applications.

Centro: Tajamar

Año académico: 2016-2017

 

Realizado por: Pedro Rodríguez.