Haciendo una API Rest en 1 hora con ASP.NET Web Api I [Actualización]

[Actualización 16/01/2013] Me ha parecido que se ha quedado muy corto la construcción del esquema de datos y lo he alargado un poco más.

La llegada de Internet ha revolucionado en profundidad tanto el mundo de las telecomunicaciones, como el de la información, como el de la arquitectura de software.

La evolución de los sistemas SOA, basados en servicios “pesados” en XML y encapsulados en complejos mensajes SOAP, han ido perdiendo terreno ante las nuevas capas de servicios construidas sobre los verbos HTTP (GET, POST, PUT y DELETE), y que intercambian la comunicación por medio de los propios mecanismos del protocolo – como los datos en el cuerpo o encabezado – y el uso estándar de notación JSON para la transferencia de información.

Presentación del tutorial

Este tutorial va a llevarte de la mano en la elaboración de una API REST sencilla, que será capaz de realizar un CRUD sobre un tipo de objeto complejo. Es decir, inserción, recuperación, modificación y borrado de unidades de información.

Para ello he utilizado el framework de ASP.NET Web API, y Fiddler Web Debugger como herramienta para realizar las pruebas funcionales; como base de datos MS SQL Server Express; y como lenguajes de programación C#, Linq y Entity Framework. (No voy a utilizar async/await).

El resultado final serán cinco métodos REST diferentes: * POST http://<servidor_de_desarrollo>/api/persona/ (Inserta una nueva persona). * GET http://<servidor_de_desarrollo>/api/persona/1 (Recupera la persona con Id 1). * GET http://<servidor_de_desarrollo>/api/persona/ (Recupera todas las personas). * PUT http://<servidor_de_desarrollo>/api/persona/ (Actualiza los datos de una persona). * DELETE http://<servidor_de_desarrollo>/api/persona/ (Borra una persona).

Si te has fijado, con estos cinco métodos, cubro más del 80% de las necesidades de cualquier API. Y las construcciones que quedan son para llamadas complejas de datos, como paginación, ordenamiento o campos de selección y recuperación.

Ecosistema de desarrollo

El segundo objetivo de este tutorial es el compartir con los lectores de GenbetaDev el ecosistema de desarrollo que utilizo en mi labor profesional diaria, haciendo énfasis en utilizar versiones gratuitas (o de prueba gratuita).

Para ello, a continuación, añado los enlaces a las herramientas que he utilizado en la elaboración de esta pequeña serie: * Visual Studio 2013 Premium o Ultimate – Trial 90 dias. * SQL 2012 Express with Tools * Fiddler Web Debugger

Empezando con los datos

Una vez instalado el SQL, me acuerdo de configurarlo para que se pueda acceder a él por medio de login y password, accedo a la instancia con SQL Manager.

A continuación creo una nueva base de datos llamada GenbetaDevWebApi.

A continuación creo una nueva tabla dentro de la base de datos recién implementada.

Continuo con la construcción del esquema, añadiendo y definiendo las columnas o campos que van a almacenar la información de la persona.

El uso de un Id Autonumérico (Identity), es una buena práctica en la mayoría de los escenarios de tablas de datos. El resto de los campos, como ves, son los esperados en la unidad de información del tipo Persona.

Para finalizar, introduzco un juego de datos que explotaré en su momento, y que serán los que se accederán a través de la Api.

Y ya está, poniéndole el nombre “Personas” a la nueva tabla, tengo el esquema de datos sobre el que voy a trabajar construido.

En el próximo capítulo entraré en la construcción de la estructura MVC de la aplicación Web.Api, integrando Entity Framework, y creando un Controller que me haga el Crud.

Y así, lo prometo, tendré mi Web Api plenamente funcional en menos de una hora.

Más información | ASP.NET Web API En GenbetaDev | Haciendo una API Rest en 1 hora con ASP.NET Web Api - II, Haciendo una API Rest en 1 hora con ASP.NET Web Api - III, Haciendo una API Rest en 1 hora con ASP.NET Web Api - IV

Ver todos los comentarios en https://www.genbeta.com

VER 0 Comentario

Portada de Genbeta