# Example - Simple REST API dengan Symfony
Proyek ini adalah contoh sederhana REST API yang dibangun menggunakan framework Symfony. API ini dapat digunakan sebagai dasar untuk pengembangan aplikasi yang memerlukan layanan backend dengan operasi CRUD (Create, Read, Update, Delete).
## Persyaratan
- PHP 8.2 atau lebih tinggi
- Composer (untuk manajemen dependensi PHP)
- Symfony CLI (direkomendasikan)
- MySQL 5.7 atau lebih tinggi
- Node.js & npm (opsional, jika menggunakan frontend atau asset)
## Instalasi
1. **Clone repositori**:
```bash
git clone https://github.com/username/project-name.git
cd project-name-
Instal dependensi PHP:
composer install
-
Salin file lingkungan dan konfigurasi:
cp .env.example .env
- Sesuaikan variabel lingkungan di
.env(terutamaDATABASE_URL).
- Sesuaikan variabel lingkungan di
-
Buat database:
php bin/console doctrine:database:create
-
Jalankan migrasi database:
php bin/console doctrine:migrations:migrate
-
(Opsional) Isi data dummy:
php bin/console doctrine:fixtures:load --env=dev
-
Mulai server Symfony:
symfony server:start
- API akan berjalan di
http://localhost:8000.
- API akan berjalan di
-
Mengambil semua data:
curl -X GET http://localhost:8000/api/products
-
Membuat data baru:
curl -X POST http://localhost:8000/api/products \ -H "Content-Type: application/json" \ -d '{"name": "Contoh Produk", "price": 100000}'
-
Update data:
curl -X PUT http://localhost:8000/api/products/1 \ -H "Content-Type: application/json" \ -d '{"price": 150000}'
-
Hapus data:
curl -X DELETE http://localhost:8000/api/products/1
{
"id": 1,
"name": "Contoh Produk",
"price": 150000,
"createdAt": "2023-10-01T12:00:00+00:00"
}| Method | Endpoint | Deskripsi |
|---|---|---|
| GET | /api/products |
Ambil semua produk |
| GET | /api/products/{id} |
Ambil produk by ID |
| POST | /api/products |
Tambah produk baru |
| PUT | /api/products/{id} |
Update produk |
| DELETE | /api/products/{id} |
Hapus produk |
Jalankan test suite dengan perintah:
./bin/phpunit- Fork repositori ini.
- Buat branch fitur baru (
git checkout -b fitur/namafitur). - Commit perubahan (
git commit -m 'Tambahkan fitur'). - Push ke branch (
git push origin fitur/namafitur). - Buat Pull Request.
Proyek ini dilisensikan di bawah MIT License.
---
📝 **Catatan**:
- Sesuaikan nama endpoint (misal: `/api/products`) sesuai dengan implementasi aktual di kode Anda.
- Jika menggunakan autentikasi (JWT/OAuth), tambahkan bagian konfigurasi terkait.
- Untuk proyek yang lebih kompleks, tambahkan dokumentasi detail tentang DTO, validation, atau error handling.