DelphiMVCFramework; Acciones básicas (GET, POST, PUT y DELETE)
Continuando con las entradas anteriores (adjunto los links a continuación), en esta vamos a implementar las operaciones básicas para nuestra API Rest.
Entrada 1: DelphiMVCFramework; Framework REST para Delphi
Entrada 2: DelphiMVCFramework; Primeros pasos
Entrada 3: DelphiMVCFramework; Acciones básicas (GET, POST, PUT y DELETE)
Ya vimos la operación GET, que es método por defecto que utilizamos en nuestras llamadas cuando las hacemos mediante un navegador.
Cuando realizamos la siguiente llamada y obtenemos esta respuesta y aunque no lo estemos especificando, el método que estamos utilizando es un GET.
En realidad estamos ejecutando este código en nuestro controlador:
[MVCPath] [MVCHTTPMethod([httpGET])] procedure Index; |
Por defecto, como he dicho todas las llamadas que hacemos desde el navegador ejecutan el método GET, así que para poder ejecutar el resto de métodos necesitaremos alguna herramienta extra. Hay bastantes en el mercado, algunas de ellas las podemos instalar como plugins del navegador y otras funcionan como ejecutables.
Contenido
HERRAMIENTAS DE DEBUG/TESTING
Nos permiten realizar test y debug de nuestras APIs mediante llamadas a un servidor REST. Utilizando estas herramientas podemos cambiar múltiples parámetros de las llamadas; Desde el método a utilizar, hasta los parámetros que enviamos, el método de autentificación, el formato del envío, las cabeceras que utilizamos,el cuerpo de la petición,…
La estructura y el funcionamiento general de todas ellas es similar; Las diferencias radican en algunas opciones particulares de cada una y la en la interface que implementan de cara al usuario.
POSTMAN
Es un estándar en el mercado. De las herramientas más completas que hay.
REST Debugger
Herramienta que se incluye con RAD Studio. Se puede llamar directamente desde el IDE de Delphi e incluye las opciones más importantes. También se puede descargar de forma gratuita desde las páginas de Embarcadero.
Además REST Debugger nos permite generar componentes Delphi listos para pegarlos en un formulario; Es una opción muy interesante aunque no nos es útil en este momento.
OTROS HERRAMIENTAS SIMILARES
Podemos encontrar otras herramientas gratuitas similares como:
- Insomnia Designer
- Advanced Rest Client Que también está como extensión del navegador.
- HTTP Master
- …
También podemos encontrar algunas soluciones online como https://hoppscotch.io/es, aunque en este caso no podemos utilizarla con localhost, y también diferentes extensiones para los navegadores más populares.
En el video que acompaña a la entrada veremos algunas de estas utilidades funcionando.
Además del método GET, del que ya hemos hablado, en esta entrada vamos a ver cómo implementar el resto de métodos de nuestra API, que nos permitan realizar operaciones sobre nuestra Base de Datos. Para el ejemplo posterior vamos a utilizar SQLite y los componentes FireDAC.
METODO GET
El método GET ya lo hemos visto en funcionamiento en las anteriores entradas, así que ya no me detendré mucho en él. Es el método que utilizamos para obtener datos (SELECT).
METODO POST
Es el que utilizaremos para realizar para realizar inserciones en la Base de Datos. Bastará con realizar un INSERT en la Base de Datos utilizando los datos que se envían en la petición (utilizando el body). Para recuperar los datos utilizaremos:
Context.Request.Body |
METODO PUT
Es el método asociado a los UPDATES de la Base de Datos. Al igual que para el método POST, los datos a actualizar podemos obtenerlos del cuerpo de la petición.
METODO DELETE
Por último, las peticiones que utilizan el método DELETE serán las que utilizaremos para los borrados en la Base de Datos.
Como viene siendo habitual en las entradas de esta serie, acabo con un video donde se implementan las funcionalidades vistas en la entrada, así como las herramientas de las que he hablado al inicio.
Os adjunto el código del proyecto que hemos creado en el video, que incluye la Base de Datos de ejemplo.
Un saludo y hasta la próxima.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…