WEB API CON MULTIPLES METODOS GET
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.
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.
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}).
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.
Otro método que recupere al doctor por su salario.
Y el último, que nos recupere a los doctores por el código de hospital de trabajo.
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.
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.
Y la otra que nos devolvería un doctor por su id.
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.
-GetDoctoresSalario.
-GetDoctoresCodigoHospital.
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.
-Metodo Get con parámetros
-Get Mapeados
-GetDoctorespecialidad.
-GetDoctoresSalario.
-BuscarDoctorCodigoHosp.
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
no entiendo cual es la diferencia aqui. Los metodos Get solo hay que pasarles parametros deferentes, los nombres que se le den a estos metodos no tienen importancia.