MENU

API platform

REST API je nějaký ten rok populární. Někde už vlna této technologie odezněla někde ještě ani neví co to je. Nejedná se o nic jiného než užití HTTP protokolu jako základ pro definici nějakého standartu. Více o REST na Wikipedii.

Když je nějaký standart tak vznikají knihovny, které umožňují efektivně dané technologie používat. Efektivně znamená že:

Programátor se tak může soustředit na naučení dané technologie, knihovny a implementaci technologie do jeho aplikace.

Jednou z implementací REST API pro PHP je API Platform, která je primárně vyvíjená pro framework Symfony

Než zdlouhavě popisovat co a jak, ukáži pár příkladů a podrobnosti z použití jsou ve videu na konci tohoto článku. Pro podrobnější informace doporučuji wikipedii, googl a dokumentaci.

Požadavky

Pro zprovoznění budete potřebovat:

Použití


Jak začít používat REST a použitím API Platform? Jednoduše zde je malá ukázka.

Založení projektu:

$ composer create-project symfony/skeleton bookshop-api
$ cd bookshop-api

$ composer req api
Nastavíme připojení k databázi:
$ export DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name
Vytvoříme databázi a databázového uživatele s právy:
MariaDB [(none)]> create database db_name;
MariaDB [(none)]> create user db_user@localhost identified by 'db_password';
GRANT ALL PRIVILEGES ON db_name. * TO 'db_user'@'localhost';


MariaDB [(none)]> flush privileges;
$ bin/console doctrine:schema:create
Spuštení aplikace:
$ php -S *1:8000 -t public
Symfony aplikace je pak dostupná na:
http://192.165.85.12:8000
API je dostupné na:
http://192.165.85.12:8000/api
Vytvoříme dle již dvou definovaných souborů entity:
bin/console doctrine:schema:update --force
Do PHP kód doplníme k entite anotace:
use ApiPlatform\Core\Annotation\ApiResource;
/**
 * ...
 *
 * @ApiResource
 */
 
A již můžeme na URL s vizuální prezentací API testovat API pres POST a GET HTTP dotazy. api-platform-rest.png
{
  "isbn": "9781782164104",
  "title": "Persistence in PHP with the Doctrine ORM",
  "description": "This book is designed for PHP developers ... better understanding of Persistence and ORM.",
  "author": "Kévin Dunglas",
  "publicationDate": "2013-12-01"
}
{
    "book": "/books/1",
    "rating": 5,
    "body": "Interesting book!",
    "author": "Kévin",
    "publicationDate": "September 21, 2016"
}
api-platform-entita.png

Video

Live-stream s praktickou ukázkou nasazení:

Zdroje

zdroj a dokumentace api platform

Další články o programování:

REST API: API platform
ISP Config: web a mail hosting
Programovní v SQL:PostgreSQL, MySQL/MariaDB
HTTPS: zabezpečený web a přesměrování
No SQL databáze Mongo DB
Linux a MS SQL server
Jak provést zátěžový test webové aplikace
Digispark - Programujete mikrokontrolér Atmel ATtiny pomocí Arduino IDE
Jak programovat ARM procesory pomocí Arduino IDE
Wireless low power Arduino
How to make wireless low power Arduino
Zobrazení map na webové stránce
Vývoj bezdrátových zařízení s IQRF
Prestashop - programování eshopů
Programovaní pro mobilní telefon
Comparison IQRF vs Wireless Arduino
ESP8266 IoT přichází
WiFi čidlo teploty
Roulette
Jak vybrat web hosting
Lokalizace aplikací v jazyce Python

Kontakt

Pozdrav, dotaz nebo žádost o konzultaci pošlete na můj email:mail@josefjebavy.cz




Flattr this



Ověřit CSS!