API REST: API de plataforma
3 de julio de 2019¿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
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 apiConfigurar la conexión a la base de datos:
$ export DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_nameCrear 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:crearIniciar la aplicación:
$ php -S *1:8000 -t publicA continuación, la aplicación Symfony está disponible en:
http://192.165.85.12:8000La API está disponible en:
http://192.165.85.12:8000/apiCrear según los dos archivos de entidad ya definidos:
bin/consola doctrine:schema:update --forceAñ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. .
{ "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" }
Vídeo
Live-stream con una demostración práctica de despliegue:
>
Recursos
plataformas api de recursos y documentaciónArtículos sobre un tema similar
Lenguaje de programación Go
Análisis de la asignación y fijación de precios del desarrollo de proyectos de software
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.
+