[RUBY] Obtenez des données avec une API créée par la commande curl

environnement

cloud9 (côté acquisition API) local (fournisseur d'API) ruby 2.6.3 Rails 6.0.2.1

Conclusion

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 %>

Détails de l'erreur jusqu'à ce point

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 ...

Organisez à nouveau

-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.

point important

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

Obtenez des données avec une API créée par la commande curl
◆ Obtenez l'API créée par Spring Boot à partir de React
Obtenez les données de tous les joueurs de Premier League en grattant avec Ruby (nokogiri)
Obtenez des informations de compte en accédant à l'API de Strava
Générer une référence API Minecraft Forge avec la commande javadoc
[Java] Obtenez des images avec l'API Google Custom Search
Essayez d'obtenir la clé API de redmine avec ruby
Trier par Spring Data JPA (avec tri par clé composée)
Connectez le projet nestjs créé avec Nx à mysql
J'ai créé un domaine api avec Spring Framework. Partie 2
Limiter les fichiers créés avec la commande rails g controller
[Spring Boot] Obtenez des informations utilisateur avec l'API Rest (débutant)
J'ai essayé de démarrer avec Spring Data JPA
J'ai créé un domaine api avec Spring Framework. Partie 1