[RUBY] Holen Sie sich Daten mit der API, die mit dem Befehl curl erstellt wurde

Umgebung

cloud9 (API-Erfassungsseite) lokal (API-Anbieter) ruby 2.6.3 Rails 6.0.2.1

Fazit

controller

def index
  uri = `curl -v -X GET "http://stage-smartyoyaku-env.ap-northeast- 1.elasticbeanstalk.com/api/v1/tasks" \
        -H "Authorization:Inhaber schreiben Token hier"`
  @test = JSON.parse(uri)
end
viewfile

<%= @test %>

Fehlerdetails bis zu diesem Punkt

Wenn Sie den Befehl curl im Cloud9-Terminal eingeben. ..

curl: (7) Failed to connect to localhost port 3000: Connection refused

Wenn ich nachschaue, scheint der Server nicht gestartet zu sein oder die Portnummer ist falsch. Ich habe mit einem Browser auf localhost: 3000 zugegriffen, aber es gibt kein Problem. Es gab auch eine Portnummer, aber ...

Wieder organisieren

-Ich drücke den Curl-Befehl in der Cloud9-seitigen App. (Seite erwerben) -Startete eine App, die API auf 3000 Port in der lokalen Umgebung bereitstellt. (Seite bereitstellen) ← Wichtig hier

Hmm? Sie können von Cloud9 (im Internet) keine lokale Verbindung herstellen.

$ lsof -i:3000
$

Überprüfen Sie, ob 3000port in Cloud9 verwendet wird → Nicht angezeigt

Mit anderen Worten, die Seite, die die API bereitstellt, muss die URL mit Heroku usw. im Internet veröffentlichen und die Daten daraus abrufen.

wichtiger Punkt

Es gibt einen kleinen Unterschied zwischen der Eingabe des Befehls curl im Terminal und dem Schreiben in den Controller. Fügen Sie im Controller den Befehl curl in `` ein.

Für Terminal

$ curl -v -X GET "http://stage-smartyoyaku-env.ap-northeast-1.elasticbeanstalk.com/api/v1/tasks" \
          -H "Authorization:Inhaber schreiben Token hier"
Für Controller

def index
  uri = `curl -v -X GET "http://stage-smartyoyaku-env.ap-northeast- 1.elasticbeanstalk.com/api/v1/tasks" \
        -H "Authorization:Inhaber schreiben Token hier"`
end

Recommended Posts

Holen Sie sich Daten mit der API, die mit dem Befehl curl erstellt wurde
◆ Rufen Sie die von Spring Boot erstellte API von React ab
Erhalten Sie Daten aller Premier League-Spieler, indem Sie mit Ruby (nokogiri) kratzen.
Erhalten Sie Kontoinformationen, indem Sie auf die Strava-API zugreifen
Generieren Sie eine Minecraft Forge-API-Referenz mit dem Befehl javadoc
[Java] Holen Sie sich Bilder mit der Google Custom Search API
Versuchen Sie, den API-Schlüssel von Redmine mit Ruby zu erhalten
Sortieren nach Spring Data JPA (mit zusammengesetzter Schlüsselsortierung)
Verbinden Sie das mit Nx erstellte nestjs-Projekt mit mysql
Ich habe mit Spring Framework eine API-Domain erstellt. Teil 2
Begrenzen Sie Dateien, die mit dem Befehl Rails g Controller erstellt wurden
[Spring Boot] Benutzerinformationen mit Rest API abrufen (Anfänger)
Ich habe versucht, mit Spring Data JPA zu beginnen
Ich habe mit Spring Framework eine API-Domain erstellt. Teil 1