我很高興推出Kong Admin API for PHP,這是一個功能強大且獨立於框架的PHP 包,可以簡化與Kong Gateway 的Admin API 的交互。這個套件是我們之前的 Laravel 特定客戶端 (nasrulhazim/kong-gateway-php-client) 的進步,現在將被存檔。
我們的新軟體包為任何 PHP 環境的開發人員提供了多功能解決方案,無論框架如何,都可以靈活地輕鬆管理 Kong Gateway。
Kong Gateway 的靈活性、可擴充性和功能使其成為 API 管理的理想選擇。然而,現有的 PHP 客戶端要么依賴特定的框架,要么缺乏強大的靈活性。這個新包滿足了這些需求,提供:
以下是幫助您開始使用Kong Admin API for PHP的指南。
要安裝軟體包,請執行:
composer require cleaniquecoders/kong-admin-api
如果您是 Kong 的新手或想在本機開發環境中快速設定它,請查看我們的使用 Docker 設定 Kong Gateway 的指南。本指南提供了在本地運行 Kong 的分步 Docker 設置,非常適合測試和開發。
首先,設定 Kong 以允許在 Admin API 上進行環回連接,從而實現安全、基於標頭的身份驗證。以下是如何使用curl進行設定的範例:
#!/bin/bash # Create Admin API Service curl --request POST --url http://localhost:8001/services --data name=admin-api-service --data url='http://localhost:8001' # Create Admin API Route curl --request POST --url http://localhost:8001/services/admin-api-service/routes --data 'paths[]=/admin-api' --data name=admin-api-route # Enable Key Auth on Admin API Service curl --request POST --url http://localhost:8001/services/admin-api-service/plugins --header 'Content-Type: application/json' --data '{"name":"key-auth","config":{"key_names":["api-key"],"key_in_query":false}}' # Create Admin API Consumer curl --request POST --url http://localhost:8001/consumers --data '{"username":"apim","custom_id":"apim"}' # Create APIM API Key curl -X POST http://localhost:8001/consumers/apim/key-auth
以下是您可以使用此軟體包執行的常見任務的一些範例:
初始化配置
use CleaniqueCoders\KongAdminApi\Configuration; $configuration = new Configuration( base: 'http://127.0.0.1:8000', uri: 'admin-api', apiKey: 'your-api-key', keyName: 'api-key' );
建立連接器和客戶端
use CleaniqueCoders\KongAdminApi\Client; use CleaniqueCoders\KongAdminApi\Connector; $connector = new Connector($configuration); $client = new Client($connector);
操作範例
儲存新服務
use CleaniqueCoders\KongAdminApi\Enums\Endpoint; use CleaniqueCoders\KongAdminApi\Request; $response = $client->send( (new Request) ->setEndPoint(Endpoint::SERVICES) ->store(['name' => 'Some Service', 'url' => 'http://api.service.com']) ); print_r($response);
更新服務
$response = $client->send( (new Request) ->setEndPoint(Endpoint::SERVICES) ->update('b3c12a56-1234-4f90-876d-12a5b678abcd', ['url' => 'http://new-example.com']) ); print_r($response);
取得服務
composer require cleaniquecoders/kong-admin-api
刪除服務
#!/bin/bash # Create Admin API Service curl --request POST --url http://localhost:8001/services --data name=admin-api-service --data url='http://localhost:8001' # Create Admin API Route curl --request POST --url http://localhost:8001/services/admin-api-service/routes --data 'paths[]=/admin-api' --data name=admin-api-route # Enable Key Auth on Admin API Service curl --request POST --url http://localhost:8001/services/admin-api-service/plugins --header 'Content-Type: application/json' --data '{"name":"key-auth","config":{"key_names":["api-key"],"key_in_query":false}}' # Create Admin API Consumer curl --request POST --url http://localhost:8001/consumers --data '{"username":"apim","custom_id":"apim"}' # Create APIM API Key curl -X POST http://localhost:8001/consumers/apim/key-auth
use CleaniqueCoders\KongAdminApi\Configuration; $configuration = new Configuration( base: 'http://127.0.0.1:8000', uri: 'admin-api', apiKey: 'your-api-key', keyName: 'api-key' );
正在考慮實作 Kong 作為您的 API 閘道或需要協助最佳化您的設定?我們提供有關設定和配置 Kong Gateway 以實現無縫 API 管理的諮詢。您可以在這裡安排預約:預約諮詢。
Kong Admin API for PHP 為管理 Kong Gateway 的 API 資源提供了靈活可靠的解決方案。它支援多個框架和強大的配置選項,旨在輕鬆整合並使開發人員能夠完全控制 Kong 的強大功能。
照片由 Codioful(以前的 Gradienta)在 Unsplash 上拍攝
以上是PHP 的 Kong Admin API:一個與框架無關的用戶端,用於無縫 Kong 閘道管理的詳細內容。更多資訊請關注PHP中文網其他相關文章!