2017-03-10 6 views
1

Essayer d'utiliser une API Connect a généré l'application comme backend pour mon projet mobile en ajoutant une variable d'env OPENAPI_SPEC telle que définie ici:Comment intégrer une API API Connect en tant que BFF dans un projet mobile Bluemix?

https://console.ng.bluemix.net/docs/mobile/sdk_compute.html#definition

je peux ajouter l'application comme une instance de calcul dans l'interface utilisateur du projet mobile, mais il ne peut pas générer le SDK, je suppose que c'est parce que lorsqu'il est publié via APIC Editor à Bluemix l'application Loopback n'est pas accessible directement, mais à travers la passerelle APIC.

Une suggestion ici?

Répondre

1

Je suppose que, bien que vous ayez une variable d'environnement OPENAPI_SPEC, votre document swagger Open API n'est pas valide. Lorsque vous téléchargez le projet, il génère automatiquement un SDK correspondant au document Open API de votre backend.

Par exemple, voici comment vous définissez la variable d'environnement avec un exemple chemin relatif:

env variable

Et voici une API valide doc que qu'il utilise (mais pas dans la plus élégante API ouverte compatible format encore mais ça marche).

https://updatesdk.mybluemix.net/explorer/swagger.json


Une bonne façon de tester la validité de votre Open API fanfaronnades doc utilise le nouveau Bluemix SDK Gen CLI Plugin.

$ bx sdk validate 

NAME: 
    validate - Determines if an OpenAPI specification is valid for SDK generation 


USAGE: 
    bluemix sdk validate OPENAPI_DOC_LOCATION | APP_NAME 

    OPENAPI_DOC_LOCATION - is a raw OpenAPI specification (URL to spec or local file; json or yaml) 
    APP_NAME - is the name of an app running in your current space hosting 
       OpenAPI spec. 

En outre, IBM fournit une deployable BFF starter sample avec un accompanying blog post qui peut être utile.

+0

Si je crée une application dorsale utilisant le bouclage uniquement, je peux ajouter /explorer/swagger.json à la variable d'environnement et tout fonctionne comme décrit dans les références ci-dessus. Le problème est que lorsque j'utilise apic pour créer et publier l'application CF sur Bluemix, cette application CF n'est pas accessible directement parce qu'elle est conçue pour être accessible via la passerelle apic, donc il n'y a pas de chemin de référence valide pour ajouter un fichier swagger à la variable d'environnement de l'application dans Bluemix. Je pense que dans ce cas je dois ajouter le SDK via la ligne de commande en utilisant le fichier swagger généré sur mon poste de travail par APIC au lieu de référencer l'application Bluemix. –

+0

Avez-vous un lien complet vers le document swagger auquel vous pouvez accéder? Si c'est le cas, vous pouvez essayer d'utiliser cela comme variable d'environnement plutôt que comme chemin relatif. – joe