API sederhana dengan Shell Script, Docker dan Laravel
Versi Docker harus >18.00
Ikuti langkah-langkah sederhana ini untuk menjalankan proyek API
Kloning repositori
git clone https://github.com/gazra-labs/laravel-docker-apis.git
cd laravel-docker-apis
Jalankan file start.sh
, file tersebut akan menjalankan perintah berikut
File start.sh di atas akan menjalankan perintah berikut
A. Salin file .env
cp .env.example .env
Anda dapat memasukkan Kunci Google API Anda di file .env.
B. Mulai Docker dan buat build
docker-compose down -v && docker-compose build && docker-compose up -d
C. Untuk menginstal komposer di direktori
docker-compose exec laravel-app composer install
D. Untuk memigrasi database ke buruh pelabuhan
docker-compose exec laravel-app php artisan key:generate
docker-compose exec laravel-app php artisan migrate --seed
e. Menghasilkan Dokumen API
docker-compose exec laravel-app php artisan l5-swagger:generate
F. Untuk memeriksa URL direktori kerja
docker ps -a
G. Melakukan Tes PHPUnit
sleep 120
docker exec laravel-app ./vendor/bin/phpunit
Tekan URL dan Anda akan menemukan proyek yang berfungsi. URL yang berfungsi adalah http://0.0.0.0:8000
Ada 3 API dengan metode berbeda. Untuk membuat daftar, membuat dan memperbarui pesanan
Parameter | Nilai-nilai | Perkataan |
---|---|---|
URL | 0.0.0.0:8000 | Silakan periksa docker ps -a untuk mengonfirmasi url yang berfungsi saat ini |
Jalur API | {URL} | |
Titik Akhir | {URL}/pesanan?page=:halaman&batas=:batas | Contoh daftar pesanan |
Contoh URI Lengkap | http://0.0.0.0:8000/api/orders?page=:page&limit=:limit | |
Dokumentasi API | {URL}/api/documentation | |
Cakupan Kode | {URL}/CodeCoverage/ |
Daftar Pesanan API:
Nama | Nilai-nilai |
---|---|
Titik Akhir | {URL}/pesanan?page=:halaman&batas=:batas |
Metode | MENDAPATKAN |
JSON yang diminta | Tidak Ada Badan JSON |
Respon JSON
[
{
"id": 1,
"distance": 10636,
"status": "UNASSIGNED"
},
{
"id": 2,
"distance": 13634,
"status": "UNASSIGNED"
},
...
]
Buat Pesanan:
Nama | Nilai-nilai |
---|---|
Titik Akhir | {URL}/pesanan |
Metode | POS |
JSON yang diminta
{
"origin": ["25.3260412","77.4978736"],
"destination": ["25.127270", "76.855173"]
}
Respon JSON:
{
"id": 51,
"distance": 12378.83,
"status": "UNASSIGNED"
}
Perbarui pesanan:
Nama | Nilai-nilai |
---|---|
Titik Akhir | {URL}/pesanan/{id} |
Metode | tambalan |
JSON yang diminta
{
"status": "TAKEN"
}
Respon JSON
{
"status": "SUCCESS"
}
Untuk menguji pengujian Unit PHP
docker exec laravel-app ./vendor/bin/phpunit
Untuk bekerja di bawah Container dengan devuser...
docker exec -it laravel-app bash -c "sudo -u devuser /bin/bash"
Untuk bekerja di bawah server mysql dalam wadah dengan devuser.. (Kata Sandi = 123456)
docker exec -it mysql-db bash -c "mysql -u admin -psecret -p"
Jika build tidak berfungsi, silakan coba perintah ini
Untuk menghapus dan menyegarkan semua sistem buruh pelabuhan docker system prune -a
Untuk menghentikan semua container yang berfungsi dan tidak digunakan docker stop $(docker ps -a -q)
Untuk menghapus semua kontainer yang berfungsi dan tidak terpakai docker rm $(docker ps -a -q)
Untuk membuat image secara lokal, mulailah membangun dan menggunakan no cache args docker-compose build --no-cache && docker-compose up -d && docker-compose logs -f