Fermer

mai 15, 2018

Construire des applications mobiles sur la gestion des API Apigee


Apprenez à mobiliser vos API en configurant et en utilisant le RAPID REST Data Connector de Kinvey avec les proxies API configurés dans Apigee Edge.

Nous voyons un nombre croissant d'organisations adoptant Progress Kinvey pour mobiliser leur entreprise Apis. Cela inclut les plates-formes de gestion d'API telles que Apigee, MuleSoft, CA Technologies, Tibco Mashery et d'autres qui ne sont pas spécifiquement conçues pour la mobilité. Kinvey intègre ces API via son connecteur sans code RAPID ou FLEX

Dans ce post, nous verrons comment configurer et utiliser le connecteur de données RAPID REST de Kinvey avec des proxies API configurés dans Apigee Bord. Si vous êtes nouveau à Apigee ou Kinvey assurez-vous de vérifier les ressources suivantes:

Kinvey: https://www.progress.com/kinvey

Apigée: https: // docs Okay alors commençons.

Je vais supposer que vous avez déjà configuré vos proxies API dans Apigee pour servir votre API REST aux développeurs internes / externes. Sinon, je recommande de vous inscrire pour un compte d'essai gratuit et d'utiliser le lien ci-dessus pour en savoir plus.

Apigee Edge Proxy

Pour ma configuration, j'ai créé une spécification dans Apigee pour un endpoint appelé " messages "représentant des articles de blog. J'ai ensuite créé un proxy Api et l'ai attaché à un endpoint backend réel de l'API REST "/ posts" servi en utilisant JSONPlaceholder . Apigee peut déployer le proxy dans un environnement de test / prod dont chacun possède une URL configurable dans le connecteur Kinvey RAPID. L'URL que j'ai eu pour le proxy de mes posts était http://sameer-eval-prod.apigee.net/posts

 RAPID 1 "title =" RAPID 1 "data-openoriginalimageonclick = "true" /> </a data-recalc-dims=

Voyons maintenant comment j'ai l'intention de tout câbler avec Kinvey, assez simple

 RAPID 2 "title =" RAPID 2 "data-openoriginalimageonclick =" true "/> </a data-recalc-dims= [19659008] Connecteur de données RAPID Kinvey

La configuration de données RAPID sur Kinvey commence par la création d'un service de données. Rendez-vous sur votre console Kinvey et cliquez sur le catalogue de services dans le nav haut. Le catalogue de services vous permet de trouver la liste de tous les services auxquels vous avez accès. Il peut s'agir de services dans une organisation ou une application particulière. Vous pouvez trier la liste par type (auth, data ou flex) ou utiliser la zone de recherche. Amusez-vous avec les filtres plus tard! Pour l'instant nous avons juste besoin d'ajouter un nouveau service donc cliquez sur le bouton vert!

 RAPID 3 "title =" RAPID 3 "data-openoriginalimageonclick =" true "/> </a data-recalc-dims=

Vous devriez maintenant voir une fenêtre contextuelle demandant Choisissez RapidData> REST.

 RAPID 4 "title =" RAPID 4 "data-openoriginalimageonclick =" true "/> </a data-recalc-dims=

Avant d'aller plus loin, prenons un moment pour apprécier le prêt utiliser les connecteurs de données de code offerts par Kinvey. Ce n'est que l'une des nombreuses façons dont Kinvey accélère le développement d'applications. Ne soyez pas découragé si vous ne voyez pas votre système d'enregistrement dans cette liste. Vous pouvez toujours facilement vous y connecter en utilisant l'un de nos connecteurs Flex de référence faciles à utiliser et qui ont un code bas.

Bon, retour aux affaires! Donc, si vous avez cliqué avec succès sur le bouton de la souris, vous devriez maintenant voir un écran similaire à ce que je vais vous présenter. Bien que ce formulaire soit assez explicite, allons-y après la capture d'écran.

 RAPID 5 "title =" RAPID 5 "data-openoriginalimageonclick =" true "/> </a data-recalc-dims=

Nom: Donner votre service un nom, il pourrait être n'importe quoi.

Description: Écrivez une note sur ce que ce service fait, à quoi il se connecte etc

App: Celui-ci est important! que vous voulez associer à ce service.

Hôte: C'est ici que vous allez mettre votre URL de proxy à partir d'Apigee Notez que j'ai supprimé les "/ posts" à la fin. Objet de service que nous créons ensuite

En-têtes statiques: Possibilité de transmettre les en-têtes que vous souhaitez inclure dans chaque requête, facultatif

Query Params: Query params à inclure dans chaque requête Ceci est facultatif

Type d'authentification: Dans la plupart des cas, un API Management P latform sécurise l'accès à l'API mais pour des raisons de simplicité, je n'ai pas choisi d'ajouter une couche d'authentification à mon proxy Apigee. Cependant, si votre configuration nécessite une authentification, vous pouvez la configurer ici facilement.

Cliquez sur Enregistrer pour terminer. Il est maintenant temps de créer des objets de service dans Kinvey pour nos terminaux. Un objet de service permet à Kinvey d'interagir avec des enregistrements ou des objets de données sur un système externe. Je vais en créer un appelé "posts". Un objet de service est similaire à votre API dans Apigee. Cette fois, passons d'abord en revue les champs dans le formulaire avant de partager une capture d'écran de ma config.

Nom: Ceci est le nom de votre objet Service. Vous pouvez appeler cela n'importe quoi mais je vous recommande de garder le même nom que votre point de terminaison. Donc, si c'est "/ posts", nommez l'objet Service "posts". Veuillez noter que ce nom sera utilisé par les développeurs pour référencer le point de terminaison dans Kinvey.

Endpoint: Ceci est relatif à "host" vous mettez dans le formulaire précédent. Entrez la partie URI qui identifie la ressource spécifique. Pour moi c'est "/ posts"

Racine de contexte: Vous permet en option d'extraire des données imbriquées à partir des réponses du serveur. Cela signifie que vous pouvez renvoyer juste un sous-ensemble de la réponse réelle. Par exemple: Supposons que votre réponse API ait entre autres un objet appelé "body". Si vous souhaitez simplement renvoyer cet objet, définissez la propriété Context Root sur "body".

Type de clé primaire: Sélectionnez le type de propriété qui identifie la ressource de manière unique: nombre (int) ou chaîne.

Nom de la clé primaire: Entrez le nom de la propriété qui identifie la ressource de manière unique.


Mappage de requête:
Vous permet de personnaliser la façon dont les requêtes sont passées de Kinvey à l'API REST distante.

Méthode HTTP: Ceci est le verbe par défaut à utiliser lors de demandes à l'API REST externe (Apigee Proxy ). My Proxy accepte GET qui est aussi la valeur par défaut de ce champ, donc je vais laisser vide.

Static Headers: Vous permet d'ajouter des valeurs de chaînes statiques personnalisées comme en-tête à inclure dans chaque requête à l'API Les jetons sont également pris en charge

Paramètres de requête: Vous permet d'ajouter des valeurs de chaînes statiques personnalisées en tant que paramètre de chaîne de requête à inclure dans chaque requête envoyée à l'API. Les jetons sont également supportés.

Opérations supportées: Utilisez le bouton bascule pour activer / désactiver n'importe quelle opération. Cela vous donne une autre couche de sécurité en plus de la spécification définie dans Apigee. Toute requête envoyée à Kinvey pour une opération non activée ici reçoit l'erreur "405 METHOD NOT ALLOWED"

Field Mapping: Utilisez ceci pour contrôler quels champs sont exposés. Par défaut, les champs de service sont automatiquement mappés à des champs Kinvey de même nom.

Si vous voulez plus de contrôle comme moi, cliquez sur "Découvrir les champs" pour récupérer automatiquement les champs que votre API affiche. Une fois que vous faites cela, vous devriez voir le nombre de champs récupérés par Kinvey et un bouton à côté de lui "Ajouter tout". Cliquez sur "Ajouter tout" pour revoir ou modifier les mappages par défaut. Pour définir des mappages personnalisés Cliquez sur "Ajouter un mappage de champ non par défaut". Les champs imbriqués sont pris en charge. Utilisez la notation par points pour mapper ceux-ci, par exemple: "body.title."

Important: Nous vous recommandons de mapper votre clé primaire au champ "_id" de Kinvey. J'ai souligné comment j'ai fait cela dans les écrans ci-dessous.

Astuce: "Discover Fields" peut également être utilisé comme test pour voir si votre hôte et votre point final sont accessibles par Kinvey

Et comme promis, voici ma configuration d'objet de service pour le point de terminaison "/ posts". C'est une forme longue donc je vais le faire en deux captures d'écran.

 RAPID 6.5 "title =" RAPID 6.5 "données-openoriginalimageonclick =" true "/> </a data-recalc-dims= RAPID 6" title = "RAPID 6" données-openoriginalimageonclick = "true" /> </a data-recalc-dims=

Tests

Toutes nos félicitations! Nous avons terminé la configuration et il est maintenant temps de tester notre service. Faisons ceci en créant une nouvelle collection (ou en employons une existante) et changeons sa source de données pour pointer vers les "poteaux" d'objet de données de service Rapid REST que nous venons de créer. Par défaut, lorsque vous créez une collection Kinvey, sa source de données est définie sur le magasin de données Kinvey qui utilise MongoDB dans les coulisses et est entièrement géré par Kinvey, rien que pour vous! Mais vous pouvez changer cela pour utiliser un service à la place, ce qui est exactement ce que nous allons faire

Cliquez sur collections dans le menu de gauche de votre console Kinvey et dans la liste des collections qui apparaissent, cliquez sur celle que vous voulez utiliser. ou en ajouter un nouveau. Vous devriez maintenant voir les paramètres de collection et sous Source de données "Utiliser le magasin de données Kinvey" serait sélectionné. Cliquez sur "Utiliser le service de données" à la place, puis sélectionnez votre service dans la liste, puis choisissez l'objet de service que vous avez créé.

 RAPID 7 "title =" RAPID 7 "data-openoriginalimageonclick =" true "/> </a data-recalc-dims=

Désormais, chaque requête à la collection sera satisfaite par le service de données. Faisons un pour voir si cela fonctionne.Cliquez sur "API Console" dans le menu, choisissez la collection dans la liste et sélectionnez GET comme méthode.API Console est un client HTTP intégré dans Kinvey, similaire à POSTMAN et c'est génial pour tester rapidement Voici à quoi ressemble la console API.

 RAPID 8 "title =" RAPID 8 "données-openoriginalimageonclick =" true "/> </a data-recalc-dims=

FAIT AMUSANT: Si vous avez une application mobile qui interroge déjà cette collection, il suffit de rafraîchir la vue et vous devriez voir les résultats arriver de l'Apigée maintenant, c'est génial,

Bien, c'est Kinvey Rapid pour vous, si vous êtes intéressé à l'essayer par vous-même, rendez-vous sur la console et créez un compte gratuit. Gratuit




Source link