我很高兴推出 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中文网其他相关文章!