Lewati ke konten utama

Memulai dengan API Platform

Dokumentasi ini akan memandu Anda untuk memulai proyek pertama menggunakan API Platform, sebuah framework berbasis Symfony untuk membangun API RESTful dan GraphQL dengan cepat.

Prasyarat

Sebelum memulai, pastikan Anda sudah menginstal:

  • PHP >= 8.1
  • Composer
  • Docker dan Docker Compose (opsional tapi direkomendasikan)
  • Symfony CLI (opsional tapi membantu)

Instalasi dengan Docker (Disarankan)

Cara termudah memulai API Platform adalah dengan menggunakan template Docker resmi.

1. Clone Proyek

git clone https://github.com/api-platform/api-platform.git my-api
cd my-api

2. Jalankan Docker

docker compose up -d

3. Akses Aplikasi

Setelah kontainer berjalan, buka:

  • Swagger UI: http://localhost

  • GraphQL Playground: http://localhost/graphql

Instalasi Manual (Tanpa Docker) Jika Anda ingin instalasi manual tanpa Docker:

composer create-project api-platform/api-platform my-api
cd my-api
symfony server:start

Struktur Direktori Setelah instalasi, Anda akan melihat struktur seperti berikut:

my-api/
├── api/ # Aplikasi Symfony utama
│ ├── src/ # Tempat menaruh entity dan business logic
│ ├── config/ # Konfigurasi Symfony dan API Platform
│ └── ...
├── docker/ # Konfigurasi Docker
├── docker-compose.yml
└── ...

Membuat Resource Pertama

1. Buat Entity

// src/Entity/Book.php
namespace App\Entity;

use ApiPlatform\Metadata\ApiResource;
use Doctrine\ORM\Mapping as ORM;

#[ORM\Entity]
#[ApiResource]
class Book
{
#[ORM\Id, ORM\GeneratedValue, ORM\Column]
private ?int $id = null;

#[ORM\Column]
private string $title;

#[ORM\Column]
private string $author;

// getter dan setter...
}

2. Update Database

php bin/console doctrine:database:create
php bin/console make:migration
php bin/console doctrine:migrations:migrate

3. Akses Endpoint

Setelah selesai, Anda otomatis memiliki endpoint:

  • GET /api/books

  • POST /api/books

  • GET /api/books/{id}

  • PUT /api/books/{id}

  • DELETE /api/books/{id}

Dokumentasi Otomatis API Platform otomatis menghasilkan dokumentasi berbasis OpenAPI di URL:

http://localhost/api

Dokumentasi ini dapat diakses melalui Swagger UI dan dapat digunakan langsung untuk testing.