API REST: API de plataforma

3 de julio de 2019

Lang: cs en de es

¿Cómo ejecutar una aplicación web como una API REST? Aquí es donde la biblioteca API Platform es muy útil. Aquí voy a describir cómo hacer un REST APi usando Symfony y la biblioteca API Platform.

La API REST es popular desde hace un tiempo. Algunos lugares ya han visto la ola de esta tecnología, otros ni siquiera saben lo que es todavía. No es más que utilizar el protocolo HTTP como base para definir un estándar. Más información sobre REST en Wikipedia.

Cuando existe un estándar, se crean librerías que permiten utilizar la tecnología de forma eficiente. Eficientemente significa que:

  • el diseño de la tecnología/biblioteca será mejor porque ha participado más gente
  • .
  • no tengo que reescribir lo que ya está hecho
  • alguien mantiene la biblioteca
  • más gente ha visto el código
Esto permite al programador centrarse en aprender la tecnología, la librería, e implementar la tecnología en su aplicación.

Una de las implementaciones de API REST para PHP es API Platform, que está desarrollada principalmente para el Symphony framework.

En lugar de entrar en una larga descripción de qué y cómo, voy a mostrar algunos ejemplos y detalles del uso están en el video al final de este artículo. Para información más detallada recomiendo wikipedia, google y documentación.

Requisitos

Para empezar necesitarás:

  • composer
  • php7
  • symphones, doctrine
  • base de datos - por ejemplo mysql

Uso


Cómo empezar con REST y utilizar la API de la plataforma? Simplemente aquí tienes una pequeña demo.

Configuración de un proyecto:

$ composer create-project symfony/skeleton libreria-api
$ cd librería-api

$ composer req api
Configurar la conexión a la base de datos:
$ export DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name
Crear una base de datos y un usuario de base de datos con derechos:
MariaDB [(none)]> crear base de datos db_name;
MariaDB [(none)]> crear usuario db_user@localhost identificado por 'db_password';
GRANT ALL PRIVILEGES ON db_name. * TO 'db_user'@'localhost';


MariaDB [(none)]> vaciar privilegios;
$ bin/consola doctrina:esquema:crear
Iniciar la aplicación:
$ php -S *1:8000 -t public
A continuación, la aplicación Symfony está disponible en:
http://192.165.85.12:8000
La API está disponible en:
http://192.165.85.12:8000/api
Crear según los dos archivos de entidad ya definidos:
bin/consola doctrine:schema:update --force
Añadiremos anotaciones al código PHP de la entidad:
use ApiPlatform\Core\Annotation\ApiResource;
/**
 * ...
 *
 * @ApiResource
 */
 
Y ahora podemos probar la API mediante peticiones HTTP POST y GET en la URL con la presentación visual de la API. api-platform-rest.png.
{
  "isbn": "9781782164104",
  "title": "Persistencia en PHP con el ORM Doctrine",
  "description": "Este libro está diseñado para desarrolladores PHP ... una mejor comprensión de Persistencia y ORM,
  "author": "Kévin Dunglas",
  "publicationDate": "2013-12-01"
}
{
    "book": "/books/1",
    "rating": 5,
    "body": "¡Interesante libro!",
    "author": "Kévin",
    "publicationDate": "21 de septiembre de 2016"
}
api-plataforma-entita.png

Vídeo

Live-stream con una demostración práctica de despliegue:
>

Recursos

plataformas api de recursos y documentación

Články na podobné téma

Programa Python para controlar Docker mediante la API
Cómo utilizar MailCatcher para probar correos electrónicos
API OpenAI de Python
Creación de una aplicación web WebSocket y configuración de un proxy
Gestión de proyectos: desarrollo ágil de software
Cómo ejecutar aplicaciones PHP antiguas
Lo que debe saber un buen programador
Lenguaje de programación Rust
NodeJS: desarrollo, configuración del servidor
Fallo de seguridad de Nette CVE-2020-15227
Alojamiento web y de correo personalizado con el software ISP Config
Programación en SQL: PostgreSQL, MySQL/MariaDB
HTTPS: web segura
Base de datos NoSQL Mongo DB
Connecting to Microsoft SQL Server from Linux
¿Cuál es la descripción del trabajo de un programador?
Localización de aplicaciones Python
Qué correo y alojamiento web elegir
Digispark - Programar microcontrolador Atmel ATtiny con Arduino IDE
Desarrollo para procesadores ARM con Arduino IDE
Cómo programar el procesador WiFi ESP8266
Smartphone abierto con Linux - Openmoko Neo FreeRunner

Boletin informativo

Si está interesado en recibir noticias puntuales por correo electrónico.
Puedes registrarte rellenando tu email suscripción de noticias.


+