Maison  >  Article  >  développement back-end  >  API Kong Admin pour PHP : un client indépendant du framework pour une gestion transparente de la passerelle Kong

API Kong Admin pour PHP : un client indépendant du framework pour une gestion transparente de la passerelle Kong

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-06 08:52:02248parcourir

Kong Admin API for PHP: A Framework-Agnostic Client for Seamless Kong Gateway Management

Je suis ravi de vous présenter Kong Admin API for PHP, un package PHP puissant et indépendant du framework qui simplifie les interactions avec l'API Admin de Kong Gateway. Ce package est une avancée par rapport à notre précédent client spécifique à Laravel (nasrulhazim/kong-gateway-php-client), qui sera désormais archivé.

Notre nouveau package offre une solution polyvalente aux développeurs dans n'importe quel environnement PHP, offrant la flexibilité nécessaire pour gérer facilement Kong Gateway, quel que soit le framework.

Pourquoi l'API Kong Admin pour PHP ?

La flexibilité, l'évolutivité et les fonctionnalités de Kong Gateway le rendent idéal pour la gestion des API. Cependant, les clients PHP existants étaient soit liés à des frameworks spécifiques, soit manquaient de flexibilité. Ce nouveau package répond à ces besoins en fournissant :

  • Conception indépendante du framework : compatible avec n'importe quel framework PHP ou projet personnalisé.
  • Support API complet : gérez sans effort les ressources Kong avec des opérations CRUD rationalisées.
  • Authentification configurable : l'authentification basée sur la clé API est intégrée, offrant une gestion sécurisée des accès.
  • Configuration modulaire : personnalisez l'URL de base, les en-têtes et bien plus encore de l'API en fonction de votre environnement.
  • Gestion fiable des erreurs : évitez les temps d'arrêt grâce à une gestion robuste des erreurs, garantissant des interactions stables avec l'API.

Guide de démarrage rapide

Vous trouverez ci-dessous un guide pour vous aider à démarrer avec API Kong Admin pour PHP.

Installation

Pour installer le package, exécutez :

composer require cleaniquecoders/kong-admin-api

Configurer Kong sur Docker

Si vous êtes nouveau sur Kong ou si vous souhaitez le configurer rapidement dans un environnement de développement local, consultez notre guide sur la configuration de Kong Gateway avec Docker. Ce guide fournit une configuration Docker étape par étape pour exécuter Kong localement, idéal pour les tests et le développement.

Configuration du bouclage de l'API Kong Gateway

Tout d'abord, configurez Kong pour autoriser les connexions en boucle sur l'API Admin, permettant ainsi une authentification sécurisée basée sur l'en-tête. Voici un exemple de la façon de le configurer avec 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

Utilisation de l'API Kong Admin pour PHP

Voici quelques exemples de tâches courantes que vous pouvez effectuer avec ce package :

  1. Initialiser la configuration

    use CleaniqueCoders\KongAdminApi\Configuration;
    
    $configuration = new Configuration(
        base: 'http://127.0.0.1:8000',
        uri: 'admin-api',
        apiKey: 'your-api-key',
        keyName: 'api-key'
    );
    
  2. Créer un connecteur et un client

    use CleaniqueCoders\KongAdminApi\Client;
    use CleaniqueCoders\KongAdminApi\Connector;
    
    $connector = new Connector($configuration);
    $client = new Client($connector);
    
  3. Exemples d'opérations

  • Stocker un nouveau service

     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);
    
  • Mettre à jour un service

     $response = $client->send(
         (new Request)
             ->setEndPoint(Endpoint::SERVICES)
             ->update('b3c12a56-1234-4f90-876d-12a5b678abcd', ['url' => 'http://new-example.com'])
     );
    
     print_r($response);
    
  • Obtenir un service

    composer require cleaniquecoders/kong-admin-api
    
  • Supprimer un service

    #!/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
    
  1. Ajouter un plugin Vous pouvez ajouter des plugins, tels que la limitation de débit, avec des configurations personnalisées :
use CleaniqueCoders\KongAdminApi\Configuration;

$configuration = new Configuration(
    base: 'http://127.0.0.1:8000',
    uri: 'admin-api',
    apiKey: 'your-api-key',
    keyName: 'api-key'
);

Besoin d'aide avec Kong API Gateway ?

Vous envisagez d'implémenter Kong comme passerelle API ou avez besoin d'aide pour optimiser votre configuration ? Nous proposons des consultations sur l'installation et la configuration de Kong Gateway pour une gestion transparente des API. Vous pouvez prendre rendez-vous ici : Réserver une consultation.

Conclusion

Kong Admin API for PHP fournit une solution flexible et fiable pour gérer les ressources API de Kong Gateway. Avec la prise en charge de plusieurs frameworks et d'options de configuration robustes, il est conçu pour s'intégrer facilement et donner aux développeurs un contrôle total sur les puissantes fonctionnalités de Kong.


Photo de Codioful (anciennement Gradienta) sur Unsplash

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn