cloud9 (côté acquisition API) local (fournisseur d'API) ruby 2.6.3 Rails 6.0.2.1
controller
def index
uri = `curl -v -X GET "http://stage-smartyoyaku-env.ap-northeast- 1.elasticbeanstalk.com/api/v1/tasks" \
-H "Authorization:Jeton d'écriture au porteur ici"`
@test = JSON.parse(uri)
end
viewfile
<%= @test %>
Lorsque vous entrez la commande curl dans le terminal cloud9. ..
curl: (7) Failed to connect to localhost port 3000: Connection refused
Quand je le recherche, il semble que le serveur ne fonctionne pas ou que le numéro de port est incorrect. J'ai accédé à localhost: 3000 avec un navigateur, mais il n'y a pas de problème. Il y avait aussi un numéro de port, mais ...
-Je frappe la commande curl sur l'application côté cloud9. (Côté acquisition) -Lancement d'une application qui fournit une API sur le port 3000 dans l'environnement local. (Côté fournisseur) ← Important ici
Hmm? Vous ne pouvez pas vous connecter en local à partir de cloud9 (sur Internet),
$ lsof -i:3000
$
Vérifiez si 3000port est utilisé sur cloud9 → Non affiché
En d'autres termes, le côté qui fournit l'API doit publier l'url sur le net avec heroku etc. et en extraire les données.
Il y a une légère différence entre la saisie de la commande curl dans le terminal et son écriture dans le contrôleur. Dans le contrôleur, placez la commande curl dans ``.
Pour terminal
$ curl -v -X GET "http://stage-smartyoyaku-env.ap-northeast-1.elasticbeanstalk.com/api/v1/tasks" \
-H "Authorization:Jeton d'écriture au porteur ici"
Pour contrôleur
def index
uri = `curl -v -X GET "http://stage-smartyoyaku-env.ap-northeast- 1.elasticbeanstalk.com/api/v1/tasks" \
-H "Authorization:Jeton d'écriture au porteur ici"`
end
Recommended Posts